Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

197 lines
6.5 KiB

  1. [Version]
  2. signature="$CHICAGO$"
  3. Class=MEDIA
  4. ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
  5. Provider=%MSFT%
  6. ; The following line is used only when the INF comes with the Windows system
  7. ; IHV needs to comment out the following line for their OEM redistributed disk.
  8. ; LayoutFile=layout.inf, layout1.inf, layout2.inf
  9. ; You must specify which platform is supported by each SourceDisksNames section
  10. ; Valid platform identifiers include .x86, .ia64, .alpha, .axp64
  11. [SourceDisksNames.NT]
  12. 333=%DiskDescription%,,,
  13. ; You must also specify which platform is supported by each SourceDisksFiles section
  14. ; Valid platform identifiers include .x86, .ia64, .alpha, .axp64
  15. [SourceDisksFiles.NT]
  16. gfxswap.dll=333
  17. gfxswap.sys=333
  18. gfxswap.inf=333
  19. [Manufacturer]
  20. %Msft%=Microsoft
  21. ; Excluding drivers from the "Add New Hardware" list.
  22. [ControlFlags]
  23. ExcludeFromSelect=*
  24. ;
  25. ; Note that the GUID here is the same as %GFX.DeviceId%. It is a unique
  26. ; identifier for the device very similar to hardware PnP IDs. You must
  27. ; generate a new GUID for your own GFX. Do not use the one from this sample.
  28. ;
  29. [Microsoft]
  30. %GFX.DeviceDesc%=GFX,SW\{18265810-4768-483a-8fd3-3b6a81d8f5f2}
  31. [DestinationDirs]
  32. GFX.CopySys = 12 ; %windir%\system32\drivers
  33. GFX.UI = 11 ; %windir%\system32
  34. GFX.CopyINF = 24,DDK ; Applications directory\DDK
  35. ;
  36. ; This is the section that is invoked by Install.
  37. ;
  38. [DefaultInstall]
  39. CopyFiles=GFX.UI, GFX.CopyINF
  40. AddReg=GFX.RunOnce.AddReg
  41. RegisterDlls = GFXSwapRegister
  42. [GFX.CopyINF]
  43. gfxswap.inf
  44. [GFX.UI]
  45. gfxswap.dll
  46. ;
  47. ; There should be a runonce line for each class that the object server will
  48. ; create. The "GFXx" label has to be unique for each line.
  49. ;
  50. [GFX.RunOnce.AddReg]
  51. HKLM,%RunOnce%,"GFX0",,"rundll32.exe streamci,StreamingDeviceSetup %GFX.DeviceId%,%GFX.Ref%,%KSCATEGORY_AUDIO%,%24%\DDK\gfxswap.inf,GFX.Audio.Install"
  52. HKLM,%RunOnce%,"GFX1",,"rundll32.exe streamci,StreamingDeviceSetup %GFX.DeviceId%,%GFX.Ref%,%KSCATEGORY_DATATRANSFORM%,%24%\DDK\gfxswap.inf,GFX.Transform.Install"
  53. [GFXSwapRegister]
  54. 11, ,GFXSwap.dll,1
  55. ;
  56. ; This section is for the device (see above at [Microsoft])
  57. ;
  58. [GFX]
  59. CopyFiles=GFX.CopySys
  60. [GFX.Services]
  61. AddService=GfxSwap,0x00000002,GFX.ServiceInstall
  62. [GFX.CopySys]
  63. gfxswap.sys
  64. [GFX.ServiceInstall]
  65. DisplayName=%GFX.DeviceDesc%
  66. ServiceType=%SERVICE_KERNEL_DRIVER%
  67. StartType=%SERVICE_DEMAND_START%
  68. ErrorControl=%SERVICE_ERROR_NORMAL%
  69. ServiceBinary=%10%\system32\drivers\gfxswap.sys
  70. ;
  71. ; This get called by RunOnce.
  72. ;
  73. [GFX.Audio.Install]
  74. AddReg=GFX.Interface.AddReg
  75. AddReg=GFX.Audio.AddReg
  76. AddReg=GFX.AddNames.AddReg
  77. ;
  78. ; This get called by RunOnce.
  79. ;
  80. [GFX.Transform.Install]
  81. AddReg=GFX.Interface.AddReg
  82. [GFX.Interface.AddReg]
  83. HKR,,CLSID,,%Proxy.CLSID%
  84. HKR,,FriendlyName,,%GFX.FriendlyName%
  85. [GFX.Audio.AddReg]
  86. ; Format of these lines is
  87. ; [reg-root],[subkey],[value-entry-name],[flags],[value]
  88. ;
  89. ; This key must be present for the audio system to recognize the filter as a
  90. ; GFX
  91. HKR,Gfx,,%FLG_ADDREG_KEYONLY%
  92. ; Store CLSID of the your vendor-specific UI COM object. Note you
  93. ; must use a CLSID different from the one in this sample!
  94. ; This GUID is the same as the GUID in section "GFXPropLib" in file GFXprop.idl
  95. HKR,Gfx\UserInterface\CLSID,,%FLG_ADDREG_TYPE_SZ%,"{25957AEC-9A65-464B-AE00-8AB9F2ABC678}"
  96. ; If you wish to automatically apply this GFX to some specific audio hardware,
  97. ; you can customize and include the following lines.
  98. ; Specify either GFX_TYPE_RENDER or GFX_TYPE_CAPTURE:
  99. ; HKR,Gfx\AutoLoad\0,Type,%FLG_ADDREG_TYPE_DWORD%,%GFX_TYPE_RENDER%
  100. ; Specify your PnP hardware ID here:
  101. ; HKR,Gfx\AutoLoad\0,HardwareId,%FLG_ADDREG_TYPE_SZ%,"USB\VID_mmmm&PID_nnnn"
  102. ; Specify the reference string used for the KSCATEGORY_AUDIO interface
  103. ; exposed by your hardware driver. "Global" is typical for USB devices.
  104. ; HKR,Gfx\AutoLoad\0,ReferenceString,%FLG_ADDREG_TYPE_SZ%,"Global"
  105. ; Set this value to 1 only if it doesn't already exist
  106. ; HKR,Gfx\AutoLoad\0,NewAutoLoad,%FLG_ADDREG_TYPE_DWORD_NOCLOBBER%,1
  107. ; If you wish to specify more than one PnP hardwre ID, just repeat
  108. ; the above lines but replace Gfx\AutoLoad\0 with Gfx\AutoLoad\1,
  109. ; Gfx\AutoLoad\2, etc.
  110. ;
  111. ; Make the sample autoload on the Microsoft USB speakers.
  112. ; Modify the PnP ID to fit your own device.
  113. ;
  114. HKR,Gfx\AutoLoad\0,Type,%FLG_ADDREG_TYPE_DWORD%,%GFX_TYPE_RENDER%
  115. HKR,Gfx\AutoLoad\0,HardwareId,%FLG_ADDREG_TYPE_SZ%,"USB\VID_045E&PID_0014&MI_00"
  116. HKR,Gfx\AutoLoad\0,ReferenceString,%FLG_ADDREG_TYPE_SZ%,"Global"
  117. HKR,Gfx\AutoLoad\0,NewAutoLoad,%FLG_ADDREG_TYPE_DWORD_NOCLOBBER%,1
  118. ;
  119. ; This section is used to add the friendly names of the topology nodes.
  120. ; Whenever you generate a new name for the GFX node(s) you need to create
  121. ; a new GUID. This GUID (GFXGUID.ChannelSwap in Strings section) needs
  122. ; to be the same than GUID GFXSAMPLE_NODENAME_CHANNEL_SWAP in file msgfx.h
  123. ;
  124. [GFX.AddNames.AddReg]
  125. HKLM,%MediaCategories%\%GFXGUID.ChannelSwap%,Name,,%GFXNode.ChannelSwap%
  126. HKLM,%MediaCategories%\%GFXGUID.ChannelSwap%,Display,1,00,00,00,00
  127. [Strings]
  128. ; non-localizeable
  129. RunOnce="SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce"
  130. ;
  131. ; GFX.DeviceId is a unique device ID. GUIDGEN one of these and copy it into
  132. ; the Microsoft section above (you need to create your own GUID for your GFX).
  133. ;
  134. ; If your driver implements multiple AvStream filters, then generate a
  135. ; different GFX.Ref for each. These GUIDs need to be unique too, that means
  136. ; you need to create your own GUIDs for GFX.Ref. The GUID "GFX.Ref" needs to be
  137. ; the same as GUID KSNAME_MsGfxSample in file msgfx.h.
  138. ;
  139. GFX.DeviceId = "{18265810-4768-483a-8fd3-3b6a81d8f5f2}"
  140. GFX.Ref = "{9b365890-165f-11d0-a195-0020afd156e4}"
  141. GFX_TYPE_RENDER = 0x00000001
  142. GFX_TYPE_CAPTURE = 0x00000002
  143. KSCATEGORY_AUDIO = "{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
  144. KSCATEGORY_DATATRANSFORM = "{2EB07EA0-7E70-11D0-A5D6-28DB04C10000}"
  145. KSCATEGORY_RENDER = "{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
  146. MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories"
  147. Proxy.CLSID = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
  148. GFXGUID.ChannelSwap = "{2B143FE6-4F67-4b12-8039-CE03EBEF1290}"
  149. SERVICE_KERNEL_DRIVER=1
  150. SERVICE_DEMAND_START=3
  151. SERVICE_ERROR_NORMAL=1
  152. FLG_ADDREG_TYPE_SZ = 0x00000000
  153. FLG_ADDREG_KEYONLY = 0x00000010
  154. FLG_ADDREG_TYPE_MULTI_SZ = 0x00010000
  155. FLG_ADDREG_TYPE_MULTI_SZ_APPEND = 0x00010008
  156. FLG_ADDREG_TYPE_DWORD = 0x00010001
  157. FLG_ADDREG_TYPE_DWORD_NOCLOBBER = 0x00010003
  158. ;localizeable
  159. MSFT = "Microsoft"
  160. GFX.DeviceDesc = "Microsoft WDM Audio GFXSwap (sample)"
  161. GFX.FriendlyName = "Microsoft WDM Audio GFXSwap (sample)"
  162. GFXNode.ChannelSwap = "Channel Swap"