[wdmaudiodev] Re: Inf file problems.

  • From: "David A. Hoatson" <dhoatson@xxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 4 Sep 2019 09:17:37 -0700

Ed,

 

I'm no expert on either issue, but I'm guessing the problem is not with the
INF file.

 

Check the following places for support of Dolby, DTS.

               GetDescription PPCFILTER_DESCRIPTOR table.  If the DataRanges
in the PCPIN_DESCRIPTOR points to a entry with
KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF, that will show Dolby.  (I suspect this
is the issue in your case)

DataRangeIntersection handler.
KSPROPERTY_PIN_PROPOSEDATAFORMAT property handler.

 

The end point names might be coming from the KSPROPERTY_GENERAL_COMPONENTID
property handler.  Although the actual text comes from the INF file, the
text that shows for each endpoint comes from the property handler.
Specifically the GUID in PKSCOMPONENTID Name element.

 

Hopefully this helps.

 

Thank you,

David A. Hoatson
Lynx Studio Technology, Inc.
www.lynxstudio.com <http://www.lynxstudio.com/

 

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Ed Tottenham
Sent: Tuesday, September 03, 2019 7:54 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Inf file problems.

 

Hello,

 

I wonder if anyone can help me with two problems with the inf file for our
audio driver.

 

The inf file was created using the MSVAD driver's inf file as a template.

 

The first problem is more of a question. In the Sound System Control Panel,
the tab for "Supported Formats" (Dolby, DTS etc.) is always shown. Is this
something that can be removed by changing the inf file or should I be doing
something more fundamental?

 

The second problem is that since the 1903 update to windows 10, the device
endpoint names are not being created in the registry, so all channels show
up as "Digital Input" or "Digital Output" in the Sound Control Panel. I've
been staring at the inf file till I'm blue in the face, but I just can't see
why the entries are no longer written to the registry.

 

Can anybody help by looking at the inf file below?

 

Best wishes

Ed Tottenham

 

 

Inf file follows:

----------------------------------------------------

 

[Version]
Signature="$CHICAGO$"
Class=MEDIA
Provider=%PrismSound%
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
DriverVer=09/19/2016,13.35.48.843
CatalogFile=PrismSoundWDM_WIN7_X64.cat

 

[SourceDisksNames]
222="Prism Sound WDM Audio Drivers Disk","",222

 

[SourceDisksFiles]
PrismSoundWDM_WIN7_X64.sys=222

 

;;This syntax is only recognized on Windows XP and above- it is needed to
install 64-bit drivers on
;;Windows Server 2003 Service Pack 1 and above.

 

[Manufacturer]
%PrismMedia%=PrismAudio,NTAMD64

 

;;  For Windows Server 2003 Service Pack 1 and above, a 64-bit OS will not
install a driver
;;  unless the Manufacturer and Models Sections explicitly show it is a
driver for that platform
;;  But the individual model section decorations (or lack thereof) work as
they always have.
;;  All of the model sections referred to are undecorated or NT-decorated,
hence work on all platforms

;; This section enables installing on x64 systems

[PrismAudio.NTAMD64]
%PrismWDM_Simple.DeviceDesc%=PrismWDM_Simple,*PrismWDM

 

[DestinationDirs]
PrismWDM_Simple.CopyList=10,system32\drivers


;======================================================
; PrismWDM_SIMPLE
;======================================================

[PrismWDM_Simple.CopyList]
PrismSoundWDM_WIN7_X64.sys

 

[PrismWDM_Simple.AddReg]
HKR,,AssociatedFilters,,"wdmaud,swmidi,redbook"
HKR,,Driver,,PrismSoundWDM_WIN7_X64.sys

HKR,Drivers,SubClasses,,"wave,midi,mixer"

HKR,Drivers\wave\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\midi\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\mixer\wdmaud.drv,Driver,,wdmaud.drv

HKR,Drivers\wave\wdmaud.drv,Description,,%PrismWDM_Simple.DeviceDesc%
HKR,Drivers\midi\wdmaud.drv,Description,,%PrismWDM_MIDI%
HKR,Drivers\mixer\wdmaud.drv,Description,,%PrismWDM_Simple.DeviceDesc%

HKLM,%MediaCategories%\%Simple.NameGuid%,Name,,%Simple.Name%

 

 

;======================================================
; COMMON
;======================================================
[PrismWDM.I.Wave]
AddReg=PrismWDM.I.Wave.AddReg,PrismWDM_NAMES.AddReg

[PrismWDM.I.Wave.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Prism.Wave.szPname%
HKR,"EP\\0",%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,"EP\\0",%PKEY_AudioEngine_OEMFormat%,1,41,00,00,00,28,00,00,00,FE,FF,02,
00,00,EE,02,00,00,94,11,00,06,00,18,00,16,00,18,00,03,00,00,00,01,00,00,00,0
0,00,10,00,80,00,00,AA,00,38,9B,71

 

[PrismWDM_NAMES.AddReg]
;; Pins
HKLM,%MediaCategories%\%PLWGUID.AnalogIn1%,Name,,%PLWPin.AnalogIn1%
HKLM,%MediaCategories%\%PLWGUID.AnalogIn1%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.AnalogIn2%,Name,,%PLWPin.AnalogIn2%
HKLM,%MediaCategories%\%PLWGUID.AnalogIn2%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.AnalogIn3%,Name,,%PLWPin.AnalogIn3%
HKLM,%MediaCategories%\%PLWGUID.AnalogIn3%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.AnalogIn4%,Name,,%PLWPin.AnalogIn4%
HKLM,%MediaCategories%\%PLWGUID.AnalogIn4%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.AnalogOut1%,Name,,%PLWPin.AnalogOut1%
HKLM,%MediaCategories%\%PLWGUID.AnalogOut1%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.AnalogOut2%,Name,,%PLWPin.AnalogOut2%
HKLM,%MediaCategories%\%PLWGUID.AnalogOut2%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.AnalogOut3%,Name,,%PLWPin.AnalogOut3%
HKLM,%MediaCategories%\%PLWGUID.AnalogOut3%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.AnalogOut4%,Name,,%PLWPin.AnalogOut4%
HKLM,%MediaCategories%\%PLWGUID.AnalogOut4%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.DigitalIn1%,Name,,%PLWPin.DigitalIn1%
HKLM,%MediaCategories%\%PLWGUID.DigitalIn1%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.DigitalOut1%,Name,,%PLWPin.DigitalOut1%
HKLM,%MediaCategories%\%PLWGUID.DigitalOut1%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATIn1%,Name,,%PLWPin.ADATIn1%
HKLM,%MediaCategories%\%PLWGUID.ADATIn1%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATIn2%,Name,,%PLWPin.ADATIn2%
HKLM,%MediaCategories%\%PLWGUID.ADATIn2%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATIn3%,Name,,%PLWPin.ADATIn3%
HKLM,%MediaCategories%\%PLWGUID.ADATIn3%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATIn4%,Name,,%PLWPin.ADATIn4%
HKLM,%MediaCategories%\%PLWGUID.ADATIn4%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATOut1%,Name,,%PLWPin.ADATOut1%
HKLM,%MediaCategories%\%PLWGUID.ADATOut1%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATOut2%,Name,,%PLWPin.ADATOut2%
HKLM,%MediaCategories%\%PLWGUID.ADATOut2%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATOut3%,Name,,%PLWPin.ADATOut3%
HKLM,%MediaCategories%\%PLWGUID.ADATOut3%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.ADATOut4%,Name,,%PLWPin.ADATOut4%
HKLM,%MediaCategories%\%PLWGUID.ADATOut4%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%PLWGUID.Headphone%,Name,,%PLWPin.Headphone%
HKLM,%MediaCategories%\%PLWGUID.Headphone%,Display,1,00,00,00,00


[PrismWDM.I.Topo]
AddReg=PrismWDM.I.Topo.AddReg


[PrismWDM.I.Topo.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Prism.Topo.szPname%

 

;======================================================
; PrismWDM_SIMPLE
;======================================================

[PrismWDM_Simple.NTAMD64]
Include=ks.inf,wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration
CopyFiles=PrismWDM_Simple.CopyList
AddReg=PrismWDM_Simple.AddReg

 

[PrismWDM_Simple.NTAMD64.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,PrismWDM.I.Wave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_Wave%,PrismWDM.I.Wave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_Wave%,PrismWDM.I.Wave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Topology%,PrismWDM.I.Topo

 

[PrismWDM_Simple.NTAMD64.Services]
AddService=PrismWDM_simple,0x00000002,PrismWDM_Simple_Service_Inst

 

[PrismWDM_Simple_Service_Inst]
DisplayName=%PrismWDM_simple.SvcDesc%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%10%\system32\drivers\PrismSoundWDM_WIN7_X64.sys

 

 


;======================================================
; COMMON
;======================================================
[Strings]
PrismSound="Prism Sound"
PrismMedia="Audio Squadron Ltd."
PrismWDM_Simple.DeviceDesc="Prism Sound WDM Audio Device"


Prism.Wave.szPname="Prism Wave"
Prism.Topo.szPname="Prism Topology"
PrismWDM_MIDI="Prism -> WDM Midi Device"

Proxy.CLSID="{17CCA71B-ECD7-11D0-B908-00A0C9223196}"

KSCATEGORY_AUDIO="{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_RENDER="{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_CAPTURE="{65E8773D-8F56-11D0-A3B9-00A0C9223196}"

KSNODETYPE_ANY      = "{00000000-0000-0000-0000-000000000000}"

KSNAME_Wave="Wave"
KSNAME_Topology="Topology"

PrismWDM_simple.SvcDesc="Prism Sound WDM Audio Device"

MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories"

Simple.NameGuid="{946A7B1A-EBBC-422a-A81F-F07C8D40D3B4}"
Simple.Name="Prism WDM"

 

;; Pins
PLWGUID.AnalogIn1       ="{8E37AE30-2E11-4845-B3A6-AD0E86055C61}"
PLWGUID.AnalogIn2 ="{65EB395B-6EE1-4BF1-B1AD-C68FE59EA3D0}"
PLWGUID.AnalogIn3 ="{27586AF3-0BA9-45B7-A111-3153DF72B92A}"
PLWGUID.AnalogIn4 ="{5B948A4E-D111-463C-822C-AAA13DA4E10A}"
PLWGUID.AnalogOut1      ="{9B75DA74-6D1D-41F6-B25D-04B97B916AAE}"
PLWGUID.AnalogOut2      ="{93C4683E-E7B6-4568-B5D8-AF97C19A52C1}"
PLWGUID.AnalogOut3      ="{24D70761-E8F3-47AA-8B20-1BF48A7058FB}"
PLWGUID.AnalogOut4      ="{81812A72-34B9-4AD2-AAAB-93BCEB0F367A}"
PLWGUID.DigitalIn1      ="{BD5412E6-FA67-4BDD-96A3-16E925FE438B}"
PLWGUID.DigitalOut1     ="{3761A567-0DCE-4513-A813-C1099FD4302F}"
PLWGUID.ADATIn1         ="{28C6AFF0-D709-4E6C-8075-3EA63E351038}"
PLWGUID.ADATIn2         ="{7A45FB25-D91A-4DFB-AFB8-BA97734F549F}"
PLWGUID.ADATIn3         ="{5E940B0A-0767-4D87-9694-BF592053F46B}"
PLWGUID.ADATIn4         ="{ABFBB037-BA8B-41AF-885D-C948F8C95AE6}"
PLWGUID.ADATOut1        ="{68E3A829-431C-4A39-8A99-20FCB2678216}"
PLWGUID.ADATOut2        ="{8C952C69-4532-45EB-933D-FC17109F245A}"
PLWGUID.ADATOut3        ="{7664755F-D391-488A-83C5-853F6EFC729C}"
PLWGUID.ADATOut4        ="{6BDA0045-5422-402E-8F67-0743AC5507FC}"
PLWGUID.Headphone       ="{F703C95D-9A4A-45C3-AD52-FB59C113F6AF}"


;; Pin Names
PLWPin.AnalogIn1        ="Analog In (1+2)"
PLWPin.AnalogIn2        ="Analog In (3+4)"
PLWPin.AnalogIn3        ="Analog In (5+6)"
PLWPin.AnalogIn4        ="Analog In (7+8)"
PLWPin.AnalogOut1       ="Analog Out (1+2)"
PLWPin.AnalogOut2       ="Analog Out (3+4)"
PLWPin.AnalogOut3       ="Analog Out (5+6)"
PLWPin.AnalogOut4       ="Analog Out (7+8)"
PLWPin.DigitalIn1       ="Digital In (1+2)"
PLWPin.DigitalOut1      ="Digital Out (1+2)"
PLWPin.ADATIn1          ="ADAT In (1+2)"
PLWPin.ADATIn2          ="ADAT In (3+4)"
PLWPin.ADATIn3          ="ADAT In (5+6)"
PLWPin.ADATIn4          ="ADAT In (7+8)"
PLWPin.ADATOut1         ="ADAT Out (1+2)"
PLWPin.ADATOut2         ="ADAT Out (3+4)"
PLWPin.ADATOut3         ="ADAT Out (5+6)"
PLWPin.ADATOut4         ="ADAT Out (7+8)"
PLWPin.Headphone        ="Headphone"


PKEY_AudioEngine_OEMFormat =     "{E4870E26-3CC5-4CD2-BA46-CA0A9A70ED04},3"
PKEY_AudioEndpoint_Association = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2"

 

Other related posts: