xref: /reactos/dll/win32/mmdrv/entry.c (revision 8a978a17)
1 /*
2  *
3  * COPYRIGHT:            See COPYING in the top level directory
4  * PROJECT:              ReactOS Multimedia
5  * FILE:                 dll/win32/mmdrv/entry.c
6  * PURPOSE:              Multimedia User Mode Driver (DriverProc)
7  * PROGRAMMER:           Andrew Greenwood
8  * UPDATE HISTORY:
9  *                       Jan 14, 2007: Created
10  */
11 
12 #include "mmdrv.h"
13 
14 #define NDEBUG
15 #include <debug.h>
16 
17 /*
18     Nothing particularly special happens here.
19 
20     Back in the days of Windows 3.1, we would do something more useful here,
21     as this is effectively the old-style equivalent of NT's "DriverEntry",
22     though far more primitive.
23 
24     In summary, we just implement to satisfy the MME API (winmm) requirements.
25 */
26 
27 LONG WINAPI
28 DriverProc(
29     DWORD driver_id,
30     HANDLE driver_handle,
31     UINT message,
32     LONG parameter1,
33     LONG parameter2)
34 {
35     switch ( message )
36     {
37         case DRV_LOAD :
38             DPRINT("DRV_LOAD\n");
39             return 1L;
40 
41         case DRV_FREE :
42             DPRINT("DRV_FREE\n");
43             return 1L;
44 
45         case DRV_OPEN :
46             DPRINT("DRV_OPEN\n");
47             return 1L;
48 
49         case DRV_CLOSE :
50             DPRINT("DRV_CLOSE\n");
51             return 1L;
52 
53         case DRV_ENABLE :
54             DPRINT("DRV_ENABLE\n");
55             return 1L;
56 
57         case DRV_DISABLE :
58             DPRINT("DRV_DISABLE\n");
59             return 1L;
60 
61         /*
62             We don't provide configuration capabilities. This used to be
63             for things like I/O port, IRQ, DMA settings, etc.
64         */
65 
66         case DRV_QUERYCONFIGURE :
67             DPRINT("DRV_QUERYCONFIGURE\n");
68             return 0L;
69 
70         case DRV_CONFIGURE :
71             DPRINT("DRV_CONFIGURE\n");
72             return 0L;
73 
74         case DRV_INSTALL :
75             DPRINT("DRV_INSTALL\n");
76             return DRVCNF_RESTART;
77     };
78 
79     return DefDriverProc(driver_id,
80                          driver_handle,
81                          message,
82                          parameter1,
83                          parameter2);
84 }
85