各位:
我用RegisterDeviceNotification()注册了guid,想只识别自己的设备。但现在所有的usb插拔都能捕捉,这好像跟这个的函数定义不一样。
一开始用inf的:
{0x36FC9E60,0xC465,0x11CF,{0x80,0x56,0x44,0x45,0x53,0x54,0x00,0x00} }; //这应该是个USB类吧,插拔没反应这个。
然后去网上找了个:
{ 0xA5DCBF10, 0x6530, 0x11D2, {0x90,0x1F,0x00,0xC0,0x4F,0xB9,0x51,0xED}};//这是网上拷贝的,插入的时候识别不稳定。会多一个“拔出”事件。
然后又看inf,发现最后还有个guid,但是没有用,用;注释掉了,于是我把它去掉重新安装。
{0xAE18AA60,0x7F6A,0x11d4,{0x97,0xDD,0x00,0x01,0x02,0x29,0xB9,0x59}};//可用,但要修改inf文件
这下插拔识别很稳定,但是别的USB仍然能识别,而不单单是我的设备!
请问怎么回事?对GUID有特别重视的么?
我用RegisterDeviceNotification()注册了guid,想只识别自己的设备。但现在所有的usb插拔都能捕捉,这好像跟这个的函数定义不一样。
一开始用inf的:
{0x36FC9E60,0xC465,0x11CF,{0x80,0x56,0x44,0x45,0x53,0x54,0x00,0x00} }; //这应该是个USB类吧,插拔没反应这个。
然后去网上找了个:
{ 0xA5DCBF10, 0x6530, 0x11D2, {0x90,0x1F,0x00,0xC0,0x4F,0xB9,0x51,0xED}};//这是网上拷贝的,插入的时候识别不稳定。会多一个“拔出”事件。
然后又看inf,发现最后还有个guid,但是没有用,用;注释掉了,于是我把它去掉重新安装。
{0xAE18AA60,0x7F6A,0x11d4,{0x97,0xDD,0x00,0x01,0x02,0x29,0xB9,0x59}};//可用,但要修改inf文件
这下插拔识别很稳定,但是别的USB仍然能识别,而不单单是我的设备!
请问怎么回事?对GUID有特别重视的么?
获取 WM_DEVICECHANGE 消息switch(wParam)
{
case DBT_DEVICEARRIVAL:
//设备插入 , 检测你的设备
break;
case DBT_DEVICEREMOVECOMPLETE:
//设备拔出 , 检测你的设备
break;
}