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

  • From: "Richard Fricks" <Richard.Fricks@xxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • 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\So
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/

Other related posts: