[wdmaudiodev] Install audio driver without Sound Recording device

  • From: Jake Alley <jakealley26@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Tue, 3 Aug 2010 11:16:01 -0700 (PDT)

Hi, I morphed the "simple" example from the development kit to create a 
specialized audio rendering driver.  I stripped down the example .inf file to 
just install the rendering driver.  It works, but the problem is it still shows 
a recording device in the Sound Devices dialog, and I don't want a record 
device.  Is this something that is handled in the .inf file or in the code?  I 
tried messing with mintopo.cpp to get rid of references to capture pins, but it 
blue screens when I run it.

For instance:

PHYSICALCONNECTIONTABLE TopologyPhysicalConnections =
{
    KSPIN_TOPO_WAVEOUT_SOURCE,  // TopologyIn
    KSPIN_TOPO_WAVEIN_DEST,     // TopologyOut
    KSPIN_WAVE_CAPTURE_SOURCE,  // WaveIn --> commenting this and other 
references results in blue screen.
    KSPIN_WAVE_RENDER_SOURCE    // WaveOut
};

Thanks.

[Version]
CatalogFile=msvad.cat
Signature="$CHICAGO$"
Class=MEDIA
Provider=%MSFT%
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
DriverVer = 08/01/2000, 1.0.0.0

[SourceDisksNames]
222="MSVAD Driver Disk","",222

[SourceDisksFiles]
vadsimpl.sys=222
;vadmulti.sys=222
;vadac3.sys=222
;vaddrmm.sys=222
;vad2dhw.sys=222
;vaddrms.sys=222
;vadpcmex.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]
%MfgName%=MicrosoftDS

;;  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

[MicrosoftDS]
%MSVAD_Simple.DeviceDesc%=MSVAD_Simple,,*MSVADSimple
;%MSVAD_Multi.DeviceDesc%=MSVAD_Multi,,*MSVADMulti
;%MSVAD_AC3.DeviceDesc%=MSVAD_AC3,,*MSVADAC3
;%MSVAD_DrmMult.DeviceDesc%=MSVAD_DrmMult,,*MSVADDrmMult
;%MSVAD_DS2DHW.DeviceDesc%=MSVAD_DS2DHW,,*MSVADDS2DHW
;%MSVAD_DrmSimp.DeviceDesc%=MSVAD_DrmSimp,,*MSVADDrmSimp
;%MSVAD_WaveExtensible.DeviceDesc%=MSVAD_WaveExtensible,,*MSVADWaveExtensible

[DestinationDirs]
MSVAD_Simple.CopyList=10,system32\drivers
;MSVAD_Multi.CopyList=10,system32\drivers
;MSVAD_AC3.CopyList=10,system32\drivers
;MSVAD_DrmMult.CopyList=10,system32\drivers
;MSVAD_DS2DHW.CopyList=10,system32\drivers
;MSVAD_DrmSimp.CopyList=10,system32\drivers
;MSVAD_WaveExtensible.CopyList=10,system32\drivers



;======================================================
; MSVAD_SIMPLE
;======================================================
[MSVAD_Simple]
AlsoInstall=ks.registration(ks.inf),wdmaudio.registration(wdmaudio.inf)
CopyFiles=MSVAD_Simple.CopyList
AddReg=MSVAD_Simple.AddReg

[MSVAD_Simple.CopyList]
vadsimpl.sys

[MSVAD_Simple.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,MSVAD.I.Wave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_Wave%,MSVAD.I.Wave
;AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_Wave%,MSVAD.I.Wave
;AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Topology%,MSVAD.I.Topo

[MSVAD_Simple.AddReg]
HKR,,AssociatedFilters,,"wdmaud"
HKR,,Driver,,vadsimpl.sys
HKR,,NTMPDriver,,"vadsimpl.sys"

HKR,Drivers,SubClasses,,"wave"

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,,%MSVAD_Simple.DeviceDesc%
;HKR,Drivers\midi\wdmaud.drv,Description,,%MSVAD_MIDI%
;HKR,Drivers\mixer\wdmaud.drv,Description,,%MSVAD_Simple.DeviceDesc%

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


;======================================================
; COMMON
;======================================================
[MSVAD.I.Wave]
AddReg=MSVAD.I.Wave.AddReg
[MSVAD.I.Wave.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%MSVAD.Wave.szPname%

[MSVAD.I.Topo]
AddReg=MSVAD.I.Topo.AddReg
[MSVAD.I.Topo.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%MSVAD.Topo.szPname%

;======================================================
; MSVAD_SIMPLE
;======================================================
[MSVAD_Simple.NT]
Include=ks.inf,wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration
CopyFiles=MSVAD_Simple.CopyList
AddReg=MSVAD_Simple.AddReg

[MSVAD_Simple.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,MSVAD.I.Wave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_Wave%,MSVAD.I.Wave
;AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_Wave%,MSVAD.I.Wave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Topology%,MSVAD.I.Topo

[MSVAD_Simple.NT.Services]
AddService=msvad_simple,0x00000002,msvad_Simple_Service_Inst

[msvad_Simple_Service_Inst]
DisplayName=%msvad_simple.SvcDesc%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%10%\system32\drivers\vadSimpl.sys

;======================================================
; COMMON
;======================================================
[Strings]
MSFT="Microsoft"
MfgName="Microsoft Audio DDK"
MSVAD_Simple.DeviceDesc="Microsoft Virtual Audio Device (Simple) (WDM)"
;MSVAD_Multi.DeviceDesc="Microsoft Virtual Audio Device (Multiple Streams) 
(WDM)"
;MSVAD_AC3.DeviceDesc="Microsoft Virtual Audio Device (AC3 Support) (WDM)"
;MSVAD_DrmMult.DeviceDesc="Microsoft Virtual Audio Device (Multiple Streams 
Drm) 
(WDM)"
;MSVAD_DS2DHW.DeviceDesc="Microsoft Virtual Audio Device (DirectSound 2D HW 
Accelaration) (WDM)"
;MSVAD_DrmSimp.DeviceDesc="Microsoft Virtual Audio Device (Single Stream Drm) 
(WDM)"
;MSVAD_WaveExtensible.DeviceDesc="Microsoft Virtual Audio Device (Wave 
Extensible) (WDM)"


MSVAD.Wave.szPname="MSVAD Wave"
MSVAD.Topo.szPname="MSVAD Topology"
MSVAD_MIDI="MSVAD -> 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}"

KSNAME_Wave="Wave"
KSNAME_Topology="Topology"

msvad_simple.SvcDesc="Microsoft Virtual Audio Device (Simple) (WDM)"
;msvad_multi.SvcDesc="Microsoft Virtual Audio Device (Multiple Streams) (WDM)"
;msvad_ac3.SvcDesc="Microsoft Virtual Audio Device (AC3 Support) (WDM)"
;msvad_DrmMult.SvcDesc="Microsoft Virtual Audio Device (Multiple Streams Drm) 
(WDM)"
;MSVAD_DS2DHW.SvcDesc="Microsoft Virtual Audio Device (DirectSound 2D HW 
Accelaration) (WDM)"
;MSVAD_DrmSimp.SvcDesc="Microsoft Virtual Audio Device (Single Stream Drm) 
(WDM)"
;MSVAD_WaveExtensible.SvcDesc="Microsoft Virtual Audio Device (Wave Extensible) 
(WDM)"

MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories"

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


      

Other related posts: