198 lines
6.5 KiB
INI
198 lines
6.5 KiB
INI
[Version]
|
|
signature="$CHICAGO$"
|
|
Class=MEDIA
|
|
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
|
|
Provider=%MSFT%
|
|
; The following line is used only when the INF comes with the Windows system
|
|
; IHV needs to comment out the following line for their OEM redistributed disk.
|
|
; LayoutFile=layout.inf, layout1.inf, layout2.inf
|
|
|
|
; You must specify which platform is supported by each SourceDisksNames section
|
|
; Valid platform identifiers include .x86, .ia64, .alpha, .axp64
|
|
[SourceDisksNames.NT]
|
|
333=%DiskDescription%,,,
|
|
|
|
; You must also specify which platform is supported by each SourceDisksFiles section
|
|
; Valid platform identifiers include .x86, .ia64, .alpha, .axp64
|
|
[SourceDisksFiles.NT]
|
|
gfxswap.dll=333
|
|
gfxswap.sys=333
|
|
gfxswap.inf=333
|
|
|
|
[Manufacturer]
|
|
%Msft%=Microsoft
|
|
|
|
; Excluding drivers from the "Add New Hardware" list.
|
|
[ControlFlags]
|
|
ExcludeFromSelect=*
|
|
|
|
;
|
|
; Note that the GUID here is the same as %GFX.DeviceId%. It is a unique
|
|
; identifier for the device very similar to hardware PnP IDs. You must
|
|
; generate a new GUID for your own GFX. Do not use the one from this sample.
|
|
;
|
|
[Microsoft]
|
|
%GFX.DeviceDesc%=GFX,SW\{18265810-4768-483a-8fd3-3b6a81d8f5f2}
|
|
|
|
[DestinationDirs]
|
|
GFX.CopySys = 12 ; %windir%\system32\drivers
|
|
GFX.UI = 11 ; %windir%\system32
|
|
GFX.CopyINF = 24,DDK ; Applications directory\DDK
|
|
|
|
;
|
|
; This is the section that is invoked by Install.
|
|
;
|
|
[DefaultInstall]
|
|
CopyFiles=GFX.UI, GFX.CopyINF
|
|
AddReg=GFX.RunOnce.AddReg
|
|
RegisterDlls = GFXSwapRegister
|
|
|
|
[GFX.CopyINF]
|
|
gfxswap.inf
|
|
|
|
[GFX.UI]
|
|
gfxswap.dll
|
|
|
|
;
|
|
; There should be a runonce line for each class that the object server will
|
|
; create. The "GFXx" label has to be unique for each line.
|
|
;
|
|
[GFX.RunOnce.AddReg]
|
|
HKLM,%RunOnce%,"GFX0",,"rundll32.exe streamci,StreamingDeviceSetup %GFX.DeviceId%,%GFX.Ref%,%KSCATEGORY_AUDIO%,%24%\DDK\gfxswap.inf,GFX.Audio.Install"
|
|
HKLM,%RunOnce%,"GFX1",,"rundll32.exe streamci,StreamingDeviceSetup %GFX.DeviceId%,%GFX.Ref%,%KSCATEGORY_DATATRANSFORM%,%24%\DDK\gfxswap.inf,GFX.Transform.Install"
|
|
|
|
[GFXSwapRegister]
|
|
11, ,GFXSwap.dll,1
|
|
|
|
;
|
|
; This section is for the device (see above at [Microsoft])
|
|
;
|
|
[GFX]
|
|
CopyFiles=GFX.CopySys
|
|
|
|
[GFX.Services]
|
|
AddService=GfxSwap,0x00000002,GFX.ServiceInstall
|
|
|
|
[GFX.CopySys]
|
|
gfxswap.sys
|
|
|
|
[GFX.ServiceInstall]
|
|
DisplayName=%GFX.DeviceDesc%
|
|
ServiceType=%SERVICE_KERNEL_DRIVER%
|
|
StartType=%SERVICE_DEMAND_START%
|
|
ErrorControl=%SERVICE_ERROR_NORMAL%
|
|
ServiceBinary=%10%\system32\drivers\gfxswap.sys
|
|
|
|
;
|
|
; This get called by RunOnce.
|
|
;
|
|
[GFX.Audio.Install]
|
|
AddReg=GFX.Interface.AddReg
|
|
AddReg=GFX.Audio.AddReg
|
|
AddReg=GFX.AddNames.AddReg
|
|
|
|
;
|
|
; This get called by RunOnce.
|
|
;
|
|
[GFX.Transform.Install]
|
|
AddReg=GFX.Interface.AddReg
|
|
|
|
[GFX.Interface.AddReg]
|
|
HKR,,CLSID,,%Proxy.CLSID%
|
|
HKR,,FriendlyName,,%GFX.FriendlyName%
|
|
|
|
[GFX.Audio.AddReg]
|
|
; Format of these lines is
|
|
; [reg-root],[subkey],[value-entry-name],[flags],[value]
|
|
;
|
|
; This key must be present for the audio system to recognize the filter as a
|
|
; GFX
|
|
HKR,Gfx,,%FLG_ADDREG_KEYONLY%
|
|
; Store CLSID of the your vendor-specific UI COM object. Note you
|
|
; must use a CLSID different from the one in this sample!
|
|
; This GUID is the same as the GUID in section "GFXPropLib" in file GFXprop.idl
|
|
HKR,Gfx\UserInterface\CLSID,,%FLG_ADDREG_TYPE_SZ%,"{25957AEC-9A65-464B-AE00-8AB9F2ABC678}"
|
|
; If you wish to automatically apply this GFX to some specific audio hardware,
|
|
; you can customize and include the following lines.
|
|
; Specify either GFX_TYPE_RENDER or GFX_TYPE_CAPTURE:
|
|
; HKR,Gfx\AutoLoad\0,Type,%FLG_ADDREG_TYPE_DWORD%,%GFX_TYPE_RENDER%
|
|
; Specify your PnP hardware ID here:
|
|
; HKR,Gfx\AutoLoad\0,HardwareId,%FLG_ADDREG_TYPE_SZ%,"USB\VID_mmmm&PID_nnnn"
|
|
; Specify the reference string used for the KSCATEGORY_AUDIO interface
|
|
; exposed by your hardware driver. "Global" is typical for USB devices.
|
|
; HKR,Gfx\AutoLoad\0,ReferenceString,%FLG_ADDREG_TYPE_SZ%,"Global"
|
|
; Set this value to 1 only if it doesn't already exist
|
|
; HKR,Gfx\AutoLoad\0,NewAutoLoad,%FLG_ADDREG_TYPE_DWORD_NOCLOBBER%,1
|
|
; If you wish to specify more than one PnP hardwre ID, just repeat
|
|
; the above lines but replace Gfx\AutoLoad\0 with Gfx\AutoLoad\1,
|
|
; Gfx\AutoLoad\2, etc.
|
|
|
|
;
|
|
; Make the sample autoload on the Microsoft USB speakers.
|
|
; Modify the PnP ID to fit your own device.
|
|
;
|
|
HKR,Gfx\AutoLoad\0,Type,%FLG_ADDREG_TYPE_DWORD%,%GFX_TYPE_RENDER%
|
|
HKR,Gfx\AutoLoad\0,HardwareId,%FLG_ADDREG_TYPE_SZ%,"USB\VID_045E&PID_0014&MI_00"
|
|
HKR,Gfx\AutoLoad\0,ReferenceString,%FLG_ADDREG_TYPE_SZ%,"Global"
|
|
HKR,Gfx\AutoLoad\0,NewAutoLoad,%FLG_ADDREG_TYPE_DWORD_NOCLOBBER%,1
|
|
|
|
|
|
;
|
|
; This section is used to add the friendly names of the topology nodes.
|
|
; Whenever you generate a new name for the GFX node(s) you need to create
|
|
; a new GUID. This GUID (GFXGUID.ChannelSwap in Strings section) needs
|
|
; to be the same than GUID GFXSAMPLE_NODENAME_CHANNEL_SWAP in file msgfx.h
|
|
;
|
|
[GFX.AddNames.AddReg]
|
|
HKLM,%MediaCategories%\%GFXGUID.ChannelSwap%,Name,,%GFXNode.ChannelSwap%
|
|
HKLM,%MediaCategories%\%GFXGUID.ChannelSwap%,Display,1,00,00,00,00
|
|
|
|
|
|
[Strings]
|
|
; non-localizeable
|
|
RunOnce="SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce"
|
|
|
|
;
|
|
; GFX.DeviceId is a unique device ID. GUIDGEN one of these and copy it into
|
|
; the Microsoft section above (you need to create your own GUID for your GFX).
|
|
;
|
|
; If your driver implements multiple AvStream filters, then generate a
|
|
; different GFX.Ref for each. These GUIDs need to be unique too, that means
|
|
; you need to create your own GUIDs for GFX.Ref. The GUID "GFX.Ref" needs to be
|
|
; the same as GUID KSNAME_MsGfxSample in file msgfx.h.
|
|
;
|
|
GFX.DeviceId = "{18265810-4768-483a-8fd3-3b6a81d8f5f2}"
|
|
GFX.Ref = "{9b365890-165f-11d0-a195-0020afd156e4}"
|
|
|
|
GFX_TYPE_RENDER = 0x00000001
|
|
GFX_TYPE_CAPTURE = 0x00000002
|
|
|
|
KSCATEGORY_AUDIO = "{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
|
|
KSCATEGORY_DATATRANSFORM = "{2EB07EA0-7E70-11D0-A5D6-28DB04C10000}"
|
|
KSCATEGORY_RENDER = "{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
|
|
|
|
MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories"
|
|
|
|
Proxy.CLSID = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
|
|
|
|
GFXGUID.ChannelSwap = "{2B143FE6-4F67-4b12-8039-CE03EBEF1290}"
|
|
|
|
SERVICE_KERNEL_DRIVER=1
|
|
SERVICE_DEMAND_START=3
|
|
SERVICE_ERROR_NORMAL=1
|
|
|
|
FLG_ADDREG_TYPE_SZ = 0x00000000
|
|
FLG_ADDREG_KEYONLY = 0x00000010
|
|
FLG_ADDREG_TYPE_MULTI_SZ = 0x00010000
|
|
FLG_ADDREG_TYPE_MULTI_SZ_APPEND = 0x00010008
|
|
FLG_ADDREG_TYPE_DWORD = 0x00010001
|
|
FLG_ADDREG_TYPE_DWORD_NOCLOBBER = 0x00010003
|
|
|
|
;localizeable
|
|
MSFT = "Microsoft"
|
|
GFX.DeviceDesc = "Microsoft WDM Audio GFXSwap (sample)"
|
|
GFX.FriendlyName = "Microsoft WDM Audio GFXSwap (sample)"
|
|
|
|
GFXNode.ChannelSwap = "Channel Swap"
|
|
|