Release 950620
[wine/multimedia.git] / include / driver.h
blobbe6298123710ac59bf8af2c914e776d1dc638340
1 /*
2 * Drivers definitions
3 */
5 #define DRV_LOAD 0x0001
6 #define DRV_ENABLE 0x0002
7 #define DRV_OPEN 0x0003
8 #define DRV_CLOSE 0x0004
9 #define DRV_DISABLE 0x0005
10 #define DRV_FREE 0x0006
11 #define DRV_CONFIGURE 0x0007
12 #define DRV_QUERYCONFIGURE 0x0008
13 #define DRV_INSTALL 0x0009
14 #define DRV_REMOVE 0x000A
15 #define DRV_EXITSESSION 0x000B
16 #define DRV_EXITAPPLICATION 0x000C
17 #define DRV_POWER 0x000F
19 #define DRV_RESERVED 0x0800
20 #define DRV_USER 0x4000
22 #define DRVCNF_CANCEL 0x0000
23 #define DRVCNF_OK 0x0001
24 #define DRVCNF_RESTART 0x0002
26 #define DRVEA_NORMALEXIT 0x0001
27 #define DRVEA_ABNORMALEXIT 0x0002
29 #define GND_FIRSTINSTANCEONLY 0x00000001
31 #define GND_FORWARD 0x00000000
32 #define GND_REVERSE 0x00000002
34 typedef struct {
35 DWORD dwDCISize;
36 LPCSTR lpszDCISectionName;
37 LPCSTR lpszDCIAliasName;
38 } DRVCONFIGINFO;
39 typedef DRVCONFIGINFO FAR* LPDRVCONFIGINFO;
41 typedef struct {
42 UINT length;
43 HDRVR hDriver;
44 HINSTANCE hModule;
45 char szAliasName[128];
46 } DRIVERINFOSTRUCT;
47 typedef DRIVERINFOSTRUCT FAR* LPDRIVERINFOSTRUCT;
49 typedef LONG (CALLBACK* DRIVERPROC)(DWORD, HDRVR, UINT, LPARAM, LPARAM);
51 typedef struct {
52 DRIVERINFOSTRUCT dis;
53 WORD count;
54 void *lpPrevItem;
55 void *lpNextItem;
56 DRIVERPROC lpDrvProc;
57 } DRIVERITEM;
58 typedef DRIVERITEM FAR* LPDRIVERITEM;
60 LRESULT DefDriverProc(DWORD dwDevID, HDRVR hDriv, WORD wMsg,
61 DWORD dwParam1, DWORD dwParam2);
62 HDRVR OpenDriver(LPSTR szDriverName, LPSTR szSectionName, LPARAM lParam2);
63 LRESULT CloseDriver(HDRVR hDriver, LPARAM lParam1, LPARAM lParam2);
64 LRESULT SendDriverMessage(HDRVR hDriver, WORD message, LPARAM lParam1, LPARAM lParam2);
65 HINSTANCE GetDriverModuleHandle(HDRVR hDriver);
66 HDRVR GetNextDriver(HDRVR, DWORD);
67 BOOL GetDriverInfo(HDRVR, DRIVERINFOSTRUCT FAR*);