[wdmaudiodev] Re: AW: Re: name of a KS filter object

  • From: "Jerry Evans" <jerry@xxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 2 Mar 2005 20:50:13 -0000

Patrick,

I think the original KS code from Microsoft showed how to enumerate devices but 
in a nutshell:

Expect to rely heavily on the SetupApi. Make sure you have MSDN.

1. Call SetupDiGetClassDevs using KSCATEGORY_AUDIO
2. The call will then anble you to iterate over all devices.
3. Use SetupDiEnumDeviceInterfaces with KSCATEGORY_CAPTURE (for example) to 
find out if it can do capture. KSCATEGORY_RENDER is playback IIRC.
4. Now you are ready to get some device specific information. See the following 
calls:
SetupDiGetDeviceInterfaceDetail

SetupDiGetDeviceInterfaceAlias

SetupDiGetDeviceRegistryProperty - flags you will want include SPDRP_MFG for 
example

5. There are lots of gotchas as some devices (USB audio class compliant for 
example) will only show up as 'USB Device' if they are using the Microsoft USB 
driver (!). So you really want to tag things with some ordinal value too.

I'm afraid I cannot show you real code as it is proprietary and my partners 
would want major $$$ from you macht schnell :-))

HTH

Jerry

----- Original Message ----- 
From: "Patrick Pfeifer" <patrick_pfeifer@xxxxxxxx>
To: <wdmaudiodev@xxxxxxxxxxxxx>
Sent: Wednesday, March 02, 2005 8:22 PM
Subject: [wdmaudiodev] AW: Re: name of a KS filter object


Is there a possibility to retrieve a CKsAudCapFilter* (instead of a
IBaseFilter) filter object using this implementation: 

IBaseFilter* pFilter;
pMoniker->BindToObject(NULL, NULL, IID_IBaseFilter, (void**)&pFilter);

What IID is responsible for getting such a filter object? I would like to
enum the CKsAudCapFilter devices to chose one and then pass it to the KS
pFilter->CreateCapturePin(...) function to get a capture pin. Or does
anybody know another way of getting the names (manufacturer, device name,..)
of CKsAudCapFilter or CKsAudRenFilter objects?

Many thanks!

Patrick


-----Ursprüngliche Nachricht-----
Von: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] Im Auftrag von Tim Roberts
Gesendet: Montag, 28. Februar 2005 21:50
An: wdmaudiodev@xxxxxxxxxxxxx
Betreff: [wdmaudiodev] Re: name of a KS filter object

Patrick Pfeifer wrote:

>How can I get the name (manufacturer, device name, ..) of a KS filter?
>  
>

There is no guarantee that it CAN be "got".  You can fetch the friendly 
name, but if the designer chose to name the device "Anonymous Atomic 
X-Blaster", that's about as far as you can go.

You can fetch the FriendlyName from the property bag when you enumerate 
the devices to create your graph.  Search for "ipropertybag enumerate" 
to find a code example.

-- 
- Tim Roberts, timr@xxxxxxxxx
  Providenza & Boekelheide, Inc.

******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.de/


******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.de/

Other related posts: