Device notification API
Hosaka Yuji <[email protected]> Sat, 27 Mar 2004 18:31:39 +0900
| Newsgroups | gmane.comp.gnu.mingw.patches |
|---|---|
| Message-ID | <[email protected]> |
Hi This patch add define, structure, prototype and export stub to use device notification APIs. 2004-03-27 Hosaka Yuji <[email protected]> * include/dbt.h (DBT_DEVTYP_DEVICEINTERFACE, DBT_DEVTYP_HANDLE): Add define. (DEV_BROADCAST_DEVICEINTERFACE, DEV_BROADCAST_HANDLE): Add struct. * include/winuser.h (UnregisterDeviceNotification): Add prototype. * lib/user32.def (UnregisterDeviceNotification): Add export stub. Index: include/dbt.h =================================================================== RCS file: /cvs/src/src/winsup/w32api/include/dbt.h,v retrieving revision 1.4 diff -u -3 -p -r1.4 dbt.h --- include/dbt.h 30 Sep 2003 07:51:26 -0000 1.4 +++ include/dbt.h 27 Mar 2004 07:40:09 -0000 @@ -20,6 +20,10 @@ extern "C" { #define DBT_DEVTYP_VOLUME 2 #define DBT_DEVTYP_PORT 3 #define DBT_DEVTYP_NET 4 +#if (WINVER >= 0x040A) +#define DBT_DEVTYP_DEVICEINTERFACE 5 +#define DBT_DEVTYP_HANDLE 6 +#endif /* (WINVER >= 0x040A) */ #define DBT_APPYBEGIN 0 #define DBT_APPYEND 1 #define DBT_DEVNODES_CHANGED 7 @@ -107,6 +111,42 @@ typedef DEV_BROADCAST_PORT_W DEV_BROADCA #else typedef DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT; #endif + +#if (WINVER >= 0x040A) +typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A { + DWORD dbcc_size; + DWORD dbcc_devicetype; + DWORD dbcc_reserved; + GUID dbcc_classguid; + char dbcc_name[1]; +} DEV_BROADCAST_DEVICEINTERFACE_A, *PDEV_BROADCAST_DEVICEINTERFACE_A; +typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W { + DWORD dbcc_size; + DWORD dbcc_devicetype; + DWORD dbcc_reserved; + GUID dbcc_classguid; + wchar_t dbcc_name[1]; +} DEV_BROADCAST_DEVICEINTERFACE_W, *PDEV_BROADCAST_DEVICEINTERFACE_W; + +#ifdef UNICODE +typedef DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE; +typedef PDEV_BROADCAST_DEVICEINTERFACE_W PDEV_BROADCAST_DEVICEINTERFACE; +#else +typedef DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE; +typedef PDEV_BROADCAST_DEVICEINTERFACE_A PDEV_BROADCAST_DEVICEINTERFACE; +#endif + +typedef struct _DEV_BROADCAST_HANDLE { + DWORD dbch_size; + DWORD dbch_devicetype; + DWORD dbch_reserved; + HANDLE dbch_handle; + DWORD dbch_hdevnotify; + GUID dbch_eventguid; + LONG dbch_nameoffset; + BYTE dbch_data[1]; +} DEV_BROADCAST_HANDLE, *PDEV_BROADCAST_HANDLE; +#endif /* (WINVER >= 0x040A) */ #ifdef __cplusplus } Index: include/winuser.h =================================================================== RCS file: /cvs/src/src/winsup/w32api/include/winuser.h,v retrieving revision 1.85 diff -u -3 -p -r1.85 winuser.h --- include/winuser.h 1 Mar 2004 10:30:00 -0000 1.85 +++ include/winuser.h 27 Mar 2004 07:40:10 -0000 @@ -3754,6 +3754,9 @@ BOOL WINAPI UnionRect(LPRECT,LPCRECT,LPC BOOL WINAPI UnloadKeyboardLayout(HKL); BOOL WINAPI UnregisterClassA(LPCSTR,HINSTANCE); BOOL WINAPI UnregisterClassW(LPCWSTR,HINSTANCE); +#if (WINVER >= 0x0500) +BOOL WINAPI UnregisterDeviceNotification(HANDLE); +#endif BOOL WINAPI UnregisterHotKey(HWND,int); BOOL WINAPI UpdateWindow(HWND); #if (_WIN32_WINNT >= 0x0500) Index: lib/user32.def =================================================================== RCS file: /cvs/src/src/winsup/w32api/lib/user32.def,v retrieving revision 1.22 diff -u -3 -p -r1.22 user32.def --- lib/user32.def 30 Sep 2003 06:57:46 -0000 1.22 +++ lib/user32.def 27 Mar 2004 07:40:10 -0000 @@ -609,6 +609,7 @@ UnloadKeyboardLayout@4 UnpackDDElParam@16 UnregisterClassA@8 UnregisterClassW@8 +UnregisterDeviceNotification@4 UnregisterHotKey@8 UpdateLayeredWindow@36 UpdateWindow@4 ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click