hm790415
驱动牛犊
驱动牛犊
  • 注册日期2002-06-26
  • 最后登录2003-06-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3387回复:2

RegisterDeviceNotification注册WM_DEVICECHANGE消息失败

楼主#
更多 发布于:2003-05-16 12:22
我准备在应用层注册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;

希望高手能够指点一下为什么会这样,或者怎么继续调试下去解决这个问题
greativan
驱动牛犊
驱动牛犊
  • 注册日期2004-07-03
  • 最后登录2007-11-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-15 15:41
你搞定了吗?我现在也遇到相同的问题!
你怎么解决的?教教我吧!
goodhopecape
驱动牛犊
驱动牛犊
  • 注册日期2005-01-26
  • 最后登录2007-06-19
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于: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);
游客

返回顶部