[wdmaudiodev] Re: How to bind a symbolic link to a mixer, midi or wave device name?

  • From: "Who Cares" <universalkludge@xxxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Wed, 29 Mar 2006 18:29:22 +0000

So what?s the recommended way to specify an audio device friendly name dynamically (in my case obtained from the low-end connection) on Vista?


From: "Richard Fricks" <Richard.Fricks@xxxxxxxxxxxxx>
Reply-To: wdmaudiodev@xxxxxxxxxxxxx
To: <wdmaudiodev@xxxxxxxxxxxxx>
Subject: [wdmaudiodev] Re: How to bind a symbolic link to a mixer, midi or wave device name?
Date: Wed, 29 Mar 2006 09:58:49 -0800


Looks like the path has changed for Vista. The WDK still states:

"WDMAud uses the Name GUID in the KSCOMPONENTID structure to look up a
"Name" key in the registry. This key is located under the registry path
name HKLM\System\CurrentControlSet\Control\MediaCategories."

So, I'll need to make sure we get this documented correctly.

Thanks for pointing this out.

-Richard


-----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Who Cares Sent: Wednesday, March 29, 2006 9:46 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: How to bind a symbolic link to a mixer, midi or wave device name?

Sorry, forgot to specify, that's 5344

Regards
Andrew


>From: "Richard Fricks" <Richard.Fricks@xxxxxxxxxxxxx> >Reply-To: wdmaudiodev@xxxxxxxxxxxxx >To: <wdmaudiodev@xxxxxxxxxxxxx> >Subject: [wdmaudiodev] Re: How to bind a symbolic link to a mixer, midi or >wave device name? >Date: Wed, 29 Mar 2006 09:35:46 -0800 > >My comments were directed at XP. Is this the platform you noticed the >below behavior on? > >Thanks, >-Rich > >-----Original Message----- >From: wdmaudiodev-bounce@xxxxxxxxxxxxx >[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Who Cares >Sent: Wednesday, March 29, 2006 8:59 AM >To: wdmaudiodev@xxxxxxxxxxxxx >Subject: [wdmaudiodev] Re: How to bind a symbolic link to a mixer, midi >or wave device name? > >Hi Richard, > >I implemented this stuff you described here in great details, but it >does >not to seem to work as expected - in the "Audio devices" applet I still >don't see the friendly name I specified. So I made some experiments w/ >the >USB stereo device. It appears to be that the >HKLM\System\CurrentControlSet\Control\MediaCategories\<NAME GUID>\Name >value >is not queried at all - I checked it with the regmon. And I found out >that a >friendly name for the "Audio devices" applet is obtained from the >HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\S o >meGuid\Properties\DEVPKEY_DeviceInterface_FriendlyName >value - I have changed it there, it got changed in the "Audio devices" >applet. > >Any clarifications? > >TIA > >Andrew > > > > >From: "Richard Fricks" <Richard.Fricks@xxxxxxxxxxxxx> > >Reply-To: wdmaudiodev@xxxxxxxxxxxxx > >To: <wdmaudiodev@xxxxxxxxxxxxx> > >Subject: [wdmaudiodev] Re: How to bind a symbolic link to a mixer, midi >or > >wave device name? > >Date: Thu, 9 Feb 2006 09:11:55 -0800 > > > > > >Windows XP and following supports the property > >KSPROPERTY_GENERAL_COMPONENTID. This allows audio devices to uniquely > >identify themselves by controlling the value of their friendly name. >The > >basic idea is that you write your unique friendly name to the registry: > >HKLM\System\CurrentControlSet\Control\MediaCategories\<NAME GUID>\Name >= > >"your unique device name". > > > >This value can bet set in your devices INF file using a statement like > >[xxxxx.AddReg] > >HKLM,"SYSTEM\CurrentControlSet\Control\MediaCategories\{946A7B1A-EBBC-4 >2 > >2a-A81F-F07C8D40D3B4}",Name,,"My unique device name" > > > >Or you can write this registry value when your driver loads in its > >initialization routine. Note that the guid above needs to be unique - > >run guidgen.exe to create one. > > > >You then implement support for the KSPROPERTY_GENERAL_COMPONENTID > >property in your driver. KS.H includes a macro > >DEFINE_KSPROPERTY_ITEM_GENERAL_COMPONENTID that you can use to help > >define this. The audio system will use the Name GUID you return in the > >KSCOMPONENTID structure to look up a "Name" key in the registry. For > >this example, the guid you would return from this property call would >be > >"{946A7B1A-EBBC-422a-A81F-F07C8D40D3B4}". > > > >This should address the issue of how to get your device to uniquely > >identify itself. If the above isn't working or is but still doesn't > >address the issue let me know as I would like to understand why. > > > >Thanks, > >Richard Fricks > >Technical Lead, Microsoft DDK > > > > > >-----Original Message----- > >From: wdmaudiodev-bounce@xxxxxxxxxxxxx > >[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of uwe kirst > >Sent: Thursday, February 09, 2006 8:30 AM > >To: wdmaudiodev@xxxxxxxxxxxxx > >Subject: [wdmaudiodev] Re: How to bind a symbolic link to a mixer, midi > >or wave device name? > > > >Yann Hamiaux wrote: > > > > >So far, I've been able to enumerate all MIDI symbolic link and get > >their > > >friendly name. However, when I have 2 devices with the same VID and > >PID, the > > >friendly name is exactly the same. While when I look to the list >mixer > >name > > >they do have a different name "Mixer Device" and "Mixer Device (2)". > > > > >Thats probably the situation under XP -> the instance id is added by > >windows atomatically. > >Under Vista the instance id is missing (thats at least my experiance). > >I tried to add it within my driver, but I found no reliable way of >doing > > > >so. If you have two physical identical devices and you install them > >one after each other while the other is not powererd, they will get the > >same name. If you now power them both, they will have the same name, > >because the name is set during install not during driver load. > >I personally would prefer to add the unique id owned by the device to > >the friendly name, but this seem to be impossible because the names are > >added during install by the .inf file. If no other idea comes to my >mind > > > >I think I will try to add a random (unique) name by my driver rather by > >.inf file. Maybee that will help? > > > > >So far, > > >I deal with some SetupDi... functions to enumerate all devices in a > > >category. I also, kind of reverse-engineer the GUID I need for the > > >enumeration by looking to the registry under > > >"Local_Machine\System\CurrentControlSet\Control\DeviceClasses\". >Maybe > >there > > >is a .h file I should look to have a proper list of these GUID? > > > > > > > > > > >I was told that you generate these GUIDs by yourself with guigen. They > >are added during installation by the .inf file. The header file only > >cointains some predefined (by microsoft) device types. > >Uwe > > > >****************** > > > >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.com/ > > > >****************** > > > >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.com/ > > > > >****************** > >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.com/ > >****************** > >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.com/ >


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

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.com/

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

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.com/



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

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.com/

Other related posts: