Release 971221
[wine/multimedia.git] / include / driver.h
blob54fed12535c4e1c5b696fce19df8310e3e5e1685
1 /*
2 * Drivers definitions
3 */
5 #ifndef __WINE_DRIVER_H
6 #define __WINE_DRIVER_H
8 #define DRV_LOAD 0x0001
9 #define DRV_ENABLE 0x0002
10 #define DRV_OPEN 0x0003
11 #define DRV_CLOSE 0x0004
12 #define DRV_DISABLE 0x0005
13 #define DRV_FREE 0x0006
14 #define DRV_CONFIGURE 0x0007
15 #define DRV_QUERYCONFIGURE 0x0008
16 #define DRV_INSTALL 0x0009
17 #define DRV_REMOVE 0x000A
18 #define DRV_EXITSESSION 0x000B
19 #define DRV_EXITAPPLICATION 0x000C
20 #define DRV_POWER 0x000F
22 #define DRV_RESERVED 0x0800
23 #define DRV_USER 0x4000
25 #define DRVCNF_CANCEL 0x0000
26 #define DRVCNF_OK 0x0001
27 #define DRVCNF_RESTART 0x0002
29 #define DRVEA_NORMALEXIT 0x0001
30 #define DRVEA_ABNORMALEXIT 0x0002
32 #define GND_FIRSTINSTANCEONLY 0x00000001
34 #define GND_FORWARD 0x00000000
35 #define GND_REVERSE 0x00000002
37 typedef struct {
38 DWORD dwDCISize;
39 LPCSTR lpszDCISectionName;
40 LPCSTR lpszDCIAliasName;
41 } DRVCONFIGINFO, *LPDRVCONFIGINFO;
43 typedef struct
45 UINT16 length;
46 HDRVR16 hDriver;
47 HINSTANCE16 hModule;
48 CHAR szAliasName[128];
49 } DRIVERINFOSTRUCT16, *LPDRIVERINFOSTRUCT16;
51 typedef struct tagDRIVERITEM
53 DRIVERINFOSTRUCT16 dis;
54 WORD count;
55 struct tagDRIVERITEM *lpPrevItem;
56 struct tagDRIVERITEM *lpNextItem;
57 DRIVERPROC16 lpDrvProc;
58 } DRIVERITEM, *LPDRIVERITEM;
60 LRESULT WINAPI DefDriverProc(DWORD dwDevID, HDRVR16 hDriv, UINT16 wMsg,
61 LPARAM dwParam1, LPARAM dwParam2);
62 HDRVR16 WINAPI OpenDriver(LPSTR szDriverName, LPSTR szSectionName,
63 LPARAM lParam2);
64 LRESULT WINAPI CloseDriver(HDRVR16 hDriver, LPARAM lParam1, LPARAM lParam2);
65 LRESULT WINAPI SendDriverMessage( HDRVR16 hDriver, UINT16 message,
66 LPARAM lParam1, LPARAM lParam2 );
67 HMODULE16 WINAPI GetDriverModuleHandle(HDRVR16 hDriver);
68 HDRVR16 WINAPI GetNextDriver(HDRVR16, DWORD);
69 BOOL16 WINAPI GetDriverInfo(HDRVR16, DRIVERINFOSTRUCT16 *);
71 #endif /* __WINE_DRIVER_H */