wm_message声音设备改变了通知

时间:2014-12-23 09:27:41

标签: c#

我的机器上安装了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卡

1 个答案:

答案 0 :(得分:0)

这取决于发送的消息。如果更改配置会导致带有WM_DEVICECHANGE参数的DBT_DEVICE_ARRIVAL消息,那么您可以从与消息一起传递的DEV_BROADCAST_DEVICEINTERFACE结构中读取设备GUID。