我的机器上安装了pci卡。 pci卡就像声卡一样,用它来传输音频文件。 此卡具有像立体声声卡或5.1声卡一样的功能。
Pci卡有一个小工具,可以在这两种模式之间切换。 每当我从2.0更改为5.1时,我都会收到一个wm_devicechanged事件。 但这并不是很有效,因为每当我插入一个usb作为示例或者我只是断开usb电缆时我得到这个wm_message。
我需要捕捉仅对声音设备本身发生的变化。 有没有办法弄清楚哪个设备已被更改? 我的设备显示在Windows设备管理器中的声音,视频和游戏控制器下。 并查看我的设备的属性页面,我发现它有以下设备类guid
{4d36e96c-e325-11ce-bfc1-08002be10318}
适用于上述类别。
所以我需要一种方法来“观察”此设备的更改,并跳过不属于此设备的“deviceChanged”消息。
非常感谢任何帮助。
p.s。:我不使用usb设备。它是插在我电脑上的pci卡
答案 0 :(得分:0)
这取决于发送的消息。如果更改配置会导致带有WM_DEVICECHANGE
参数的DBT_DEVICE_ARRIVAL
消息,那么您可以从与消息一起传递的DEV_BROADCAST_DEVICEINTERFACE
结构中读取设备GUID。