The KsStudio log of driver A and driver B looks the same. Machine Name = TEST KS Studio started at 11:03:52 on 11/22/2012 ------------------------------ Enumerating devices via Setup APIs Enumerating class KSCATEGORY_AUDIO: Enumerated [HD Audio Microphone mixer] \\?\hdaudio#func_01&ven_10ec&dev_0269&subsys_10280400&rev_1001#4&dd1b1a&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\emicintopo Enumerated [HD Audio Headphone/Speakers mixer] \\?\hdaudio#func_01&ven_10ec&dev_0269&subsys_10280400&rev_1001#4&dd1b1a&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\eduplicatedhplineouttopo Enumerated [HD Audio Speaker] \\?\hdaudio#func_01&ven_10ec&dev_0269&subsys_10280400&rev_1001#4&dd1b1a&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\espeakerwave Enumerated [HD Audio Microphone 2 mixer] \\?\hdaudio#func_01&ven_10ec&dev_0269&subsys_10280400&rev_1001#4&dd1b1a&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\emicin2topo Enumerated [HD Audio Headphone/Speakers] \\?\hdaudio#func_01&ven_10ec&dev_0269&subsys_10280400&rev_1001#4&dd1b1a&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\eduplicatedhplineoutwave Enumerated [HD Audio Speaker mixer] \\?\hdaudio#func_01&ven_10ec&dev_0269&subsys_10280400&rev_1001#4&dd1b1a&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\espeakertopo SetupDiOpenDeviceInterfaceRegKey failed Enumerated [???] \\?\bthenum#{0000XXXX-0000-1000-8000-00805f9b34fb}_vid&0001000f_pid&0000#7&2eadb04a&0&00241c9233c3_c00000000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\topology SetupDiOpenDeviceInterfaceRegKey failed Enumerated [???] \\?\bthenum#{0000YYYY-0000-1000-8000-00805f9b34fb}_vid&0001000f_pid&0000#7&2eadb04a&0&00241c9233c3_c00000000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\topology SetupDiEnumDeviceInterfaces failed GetDeviceDetails failed. Enumerating class KSCATEGORY_BRIDGE: SetupDiEnumDeviceInterfaces failed GetDeviceDetails failed. ------------------------------ Instantiating Filter: "???" ------------------------------ Profiling filter "\\?\bthenum#{0000YYYY-0000-1000-8000-00805f9b34fb}_vid&0001000f_pid&0000#7&2eadb04a&0&00241c9233c3_c00000000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\topology" Getting property KSPROPERTY_TYPE_SETSUPPORT: Filter Property set supported: KSPROPSETID_Pin KSPROPSETID_Topology KSPROPSETID_Jack {7fa06c40-b8f6-4c7e-8556-e8c33a12e54d} Getting event KSEVENT_TYPE_SETSUPPORT: Filter Event set supported: Getting property KSPROPERTY_PIN_CTYPES Getting property KSPROPSETID_Topology.KSPROPERTY_TOPOLOGY_CATEGORIES Getting property KSPROPERTY_TOPOLOGY_CATEGORIES Got KSPROPERTY_TOPOLOGY_CATEGORIES: Getting property KSPROPSETID_Topology.KSPROPERTY_TOPOLOGY_NODES Getting property KSPROPERTY_TOPOLOGY_NODES Got KSPROPERTY_TOPOLOGY_NODES: No items Getting property KSPROPSETID_Topology.KSPROPERTY_TOPOLOGY_CONNECTIONS Getting property KSPROPERTY_TOPOLOGY_CONNECTIONS Got KSPROPERTY_TOPOLOGY_CONNECTIONS: PIN [0] (pin 1 of 2) Getting property KSPROPERTY_PIN_INTERFACES Got KSPROPERTY_PIN_INTERFACES: Getting property KSPROPERTY_PIN_MEDIUMS Got KSPROPERTY_PIN_MEDIUMS: Getting property KSPROPERTY_PIN_DATARANGES Got KSPROPERTY_PIN_DATARANGES: Getting property KSPROPERTY_PIN_CONSTRAINEDDATARANGES Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_CONSTRAINEDDATARANGES Getting property KSPROPERTY_PIN_DATAFLOW Getting property KSPROPERTY_PIN_COMMUNICATION Getting property KSPROPERTY_PIN_CINSTANCES Getting property KSPROPERTY_PIN_GLOBALCINSTANCES Getting property KSPROPERTY_PIN_NECESSARYINSTANCES Getting property KSPROPERTY_PIN_PHYSICALCONNECTION Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_PHYSICALCONNECTION Getting property KSPROPERTY_PIN_CATEGORY Getting property KSPROPERTY_PIN_NAME Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_NAME Getting property KSPROPERTY_JACK_DESCRIPTION Failed to get property KSPROPSETID_Jack.KSPROPERTY_JACK_DESCRIPTION PIN [1] (pin 2 of 2) Getting property KSPROPERTY_PIN_INTERFACES Got KSPROPERTY_PIN_INTERFACES: Getting property KSPROPERTY_PIN_MEDIUMS Got KSPROPERTY_PIN_MEDIUMS: Getting property KSPROPERTY_PIN_DATARANGES Got KSPROPERTY_PIN_DATARANGES: Getting property KSPROPERTY_PIN_CONSTRAINEDDATARANGES Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_CONSTRAINEDDATARANGES Getting property KSPROPERTY_PIN_DATAFLOW Getting property KSPROPERTY_PIN_COMMUNICATION Getting property KSPROPERTY_PIN_CINSTANCES Getting property KSPROPERTY_PIN_GLOBALCINSTANCES Getting property KSPROPERTY_PIN_NECESSARYINSTANCES Getting property KSPROPERTY_PIN_PHYSICALCONNECTION Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_PHYSICALCONNECTION Getting property KSPROPERTY_PIN_CATEGORY Getting property KSPROPERTY_PIN_NAME Got KSPROPERTY_PIN_NAME: Getting property KSPROPERTY_JACK_DESCRIPTION Got KSPROPERTY_JACK_DESCRIPTION: Getting property KSPROPERTY_PIN_CINSTANCES Getting property KSPROPERTY_PIN_GLOBALCINSTANCES Getting property KSPROPERTY_PIN_NECESSARYINSTANCES Getting property KSPROPERTY_PIN_CINSTANCES Getting property KSPROPERTY_PIN_GLOBALCINSTANCES Getting property KSPROPERTY_PIN_NECESSARYINSTANCES Misc. Supported PropertySets KSStudio does not recognize PropertySet GUID {7fa06c40-b8f6-4c7e-8556-e8c33a12e54d} supported by the filter This is not a driver bug. ------------------------------ Instantiating Filter: "???" ------------------------------ Profiling filter "\\?\bthenum#{0000XXXX-0000-1000-8000-00805f9b34fb}_vid&0001000f_pid&0000#7&2eadb04a&0&00241c9233c3_c00000000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\topology" Getting property KSPROPERTY_TYPE_SETSUPPORT: Filter Property set supported: KSPROPSETID_Pin KSPROPSETID_Topology KSPROPSETID_Jack {7fa06c40-b8f6-4c7e-8556-e8c33a12e54d} Getting event KSEVENT_TYPE_SETSUPPORT: Filter Event set supported: Getting property KSPROPERTY_PIN_CTYPES Getting property KSPROPSETID_Topology.KSPROPERTY_TOPOLOGY_CATEGORIES Getting property KSPROPERTY_TOPOLOGY_CATEGORIES Got KSPROPERTY_TOPOLOGY_CATEGORIES: Getting property KSPROPSETID_Topology.KSPROPERTY_TOPOLOGY_NODES Getting property KSPROPERTY_TOPOLOGY_NODES Got KSPROPERTY_TOPOLOGY_NODES: No items Getting property KSPROPSETID_Topology.KSPROPERTY_TOPOLOGY_CONNECTIONS Getting property KSPROPERTY_TOPOLOGY_CONNECTIONS Got KSPROPERTY_TOPOLOGY_CONNECTIONS: PIN [0] (pin 1 of 2) Getting property KSPROPERTY_PIN_INTERFACES Got KSPROPERTY_PIN_INTERFACES: Getting property KSPROPERTY_PIN_MEDIUMS Got KSPROPERTY_PIN_MEDIUMS: Getting property KSPROPERTY_PIN_DATARANGES Got KSPROPERTY_PIN_DATARANGES: Getting property KSPROPERTY_PIN_CONSTRAINEDDATARANGES Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_CONSTRAINEDDATARANGES Getting property KSPROPERTY_PIN_DATAFLOW Getting property KSPROPERTY_PIN_COMMUNICATION Getting property KSPROPERTY_PIN_CINSTANCES Getting property KSPROPERTY_PIN_GLOBALCINSTANCES Getting property KSPROPERTY_PIN_NECESSARYINSTANCES Getting property KSPROPERTY_PIN_PHYSICALCONNECTION Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_PHYSICALCONNECTION Getting property KSPROPERTY_PIN_CATEGORY Getting property KSPROPERTY_PIN_NAME Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_NAME Getting property KSPROPERTY_JACK_DESCRIPTION Failed to get property KSPROPSETID_Jack.KSPROPERTY_JACK_DESCRIPTION PIN [1] (pin 2 of 2) Getting property KSPROPERTY_PIN_INTERFACES Got KSPROPERTY_PIN_INTERFACES: Getting property KSPROPERTY_PIN_MEDIUMS Got KSPROPERTY_PIN_MEDIUMS: Getting property KSPROPERTY_PIN_DATARANGES Got KSPROPERTY_PIN_DATARANGES: Getting property KSPROPERTY_PIN_CONSTRAINEDDATARANGES Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_CONSTRAINEDDATARANGES Getting property KSPROPERTY_PIN_DATAFLOW Getting property KSPROPERTY_PIN_COMMUNICATION Getting property KSPROPERTY_PIN_CINSTANCES Getting property KSPROPERTY_PIN_GLOBALCINSTANCES Getting property KSPROPERTY_PIN_NECESSARYINSTANCES Getting property KSPROPERTY_PIN_PHYSICALCONNECTION Failed to get property KSPROPSETID_Pin.KSPROPERTY_PIN_PHYSICALCONNECTION Getting property KSPROPERTY_PIN_CATEGORY Getting property KSPROPERTY_PIN_NAME Got KSPROPERTY_PIN_NAME: Getting property KSPROPERTY_JACK_DESCRIPTION Got KSPROPERTY_JACK_DESCRIPTION: Getting property KSPROPERTY_PIN_CINSTANCES Getting property KSPROPERTY_PIN_GLOBALCINSTANCES Getting property KSPROPERTY_PIN_NECESSARYINSTANCES Getting property KSPROPERTY_PIN_CINSTANCES Getting property KSPROPERTY_PIN_GLOBALCINSTANCES Getting property KSPROPERTY_PIN_NECESSARYINSTANCES Misc. Supported PropertySets KSStudio does not recognize PropertySet GUID {7fa06c40-b8f6-4c7e-8556-e8c33a12e54d} supported by the filter This is not a driver bug. 7fa06c40-b8f6-4c7e-8556-e8c33a12e54d is the GUID BtAudio. so I changed the handler function to another function: PropertyHandler_BtAudio as the following code: static PCPROPERTY_ITEM PropertiesTopoFilter[] = { { &KSPROPSETID_Jack, KSPROPERTY_JACK_DESCRIPTION, KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT, PropertyHandler_TopoFilter }, { &KSPROPSETID_Jack, KSPROPERTY_JACK_DESCRIPTION2, KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT, PropertyHandler_TopoFilter }, { &KSPROPSETID_BtAudio, KSPROPERTY_ONESHOT_RECONNECT, KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT, PropertyHandler_BtAudio }, { &KSPROPSETID_BtAudio, KSPROPERTY_ONESHOT_DISCONNECT, KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT, PropertyHandler_BtAudio } }; then bp at CMiniportTopology::Init, I can see that the KSPROPSETID_BtAudio is registered, but FailedVirtualDriver!PropertyHandler_BtAudio is never get called by audio stack. dt 0xab1a2110 PCPROPERTY_ITEM FailedVirtualDriver!PCPROPERTY_ITEM +0x000 Set : 0xab1a1ba8 _GUID {4509f757-2d46-4637-8e62-ce7db944f57b} +0x004 Id : 1 +0x008 Flags : 0x201 +0x00c Handler : 0xab1a7d24 long FailedVirtualDriver!PropertyHandler_TopoFilter+0 1: kd> dt 0xab1a2130 PCPROPERTY_ITEM FailedVirtualDriver!PCPROPERTY_ITEM +0x000 Set : 0xab1a1b98 _GUID {7fa06c40-b8f6-4c7e-8556-e8c33a12e54d} +0x004 Id : 0 +0x008 Flags : 0x201 +0x00c Handler : 0xab1a7eb6 long FailedVirtualDriver!PropertyHandler_BtAudio+0 1: kd> bp FailedVirtualDriver!PropertyHandler_BtAudio 1: kd> bl 0 e ab1a769a [e:\btsw\hostsw\profiles\audio\hfp\source\mintopo.cpp @ 229] 0001 (0001) FailedVirtualDriver!CMiniportTopology::Init 1 e ab1a7eb6 [e:\btsw\hostsw\profiles\audio\hfp\source\mintopo.cpp @ 754] 0001 (0001) FailedVirtualDriver!PropertyHandler_BtAudio -- Danny