RegisterDeviceNotification失败,GetLastError 返回1066
正在做一个usb设备的项目,想相应WM_DEVICECHANGE消息,但是RegisterDeviceNotification总是返回0,用GetLastError,返回的也总是1066,我的源码如下:
BOOL CMainFrame::DoRegisterDeviceInterface(GUID InterfaceClassGuid, HDEVNOTIFY *hDevNotify)
{
DEV_BROADCAST_DEVICEINTERFACE NotificationFilter;
ZeroMemory( ¬ificationFilter, sizeof(NotificationFilter));
NotificationFilter.dbcc_size = sizeof(DEV_BROADCAST_DEVICEINTERFACE);
NotificationFilter.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
NotificationFilter.dbcc_classguid = InterfaceClassGuid;
*hDevNotify = RegisterDeviceNotification(this->GetSafeHwnd(), ¬ificationFilter, DEVICE_NOTIFY_WINDOW_HANDLE);
if(!*hDevNotify)
{
TRACE("RegisterDeviceNotification failed: %d\n", GetLastError());
return FALSE;
}
return TRUE;
}
同样的代码同样的GUID,在新建的另外一个对话框工程里可以注册成功,但是原来这个工程就是不行,希望各位高手帮帮忙