阅读:3387回复:2
RegisterDeviceNotification注册WM_DEVICECHANGE消息失败
我准备在应用层注册WM_DEVICECHANGE消息,以便在驱动卸载时同知应用层关闭已打开的句柄。
m_hDevice = CreateFile(。。。。); DEV_BROADCAST_HANDLE DeviceHandleInfo = {0}; DeviceHandleInfo.dbch_size = sizeof(DeviceHandleInfo); DeviceHandleInfo.dbch_devicetype = DBT_DEVTYP_HANDLE; DeviceHandleInfo.dbch_handle = m_hDevice; m_hNotification = RegisterDeviceNotification(m_hWnd, &filter, 0); 但是RegisterDeviceNotification返回的句柄为空,通过GetLastError()获取的错误码为:0x42A; 希望高手能够指点一下为什么会这样,或者怎么继续调试下去解决这个问题 |
|
沙发#
发布于:2004-07-15 15:41
你搞定了吗?我现在也遇到相同的问题!
你怎么解决的?教教我吧! |
|
板凳#
发布于:2005-01-26 16:57
DEV_BROADCAST_DEVICEINTERFACE dbch;
dbch.dbcc_size = sizeof(dbch); dbch.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE; dbch.dbcc_classguid = WDM2_GUID; dbch.dbcc_name[0] = '\0'; WdmNotificationHandle = RegisterDeviceNotification( GetSafeHwnd(), &dbch, DEVICE_NOTIFY_WINDOW_HANDLE); |
|