;Copyright (c) 1997-2009 Techwell Inc. All rights Reserved ; ;Module Name: ; TW68AUD.INF ; ;Abstract: ; INF file for installing Techwell TW6802 WDM Audio Driver ; ; ; During upgrade from Win98SE or Win ME, the default upgrade behavior won't upgrade the drivers ; to Win2k or Windows XP. The sample inf has implemented what's mentioned in ; WINDDK\..\src\setup\devupgrd\devupgrd.doc. ; If your driver would never be installed under Win98SE or Win ME, you don't need this new migrate.dll ; stuff. [Version] Signature="$CHICAGO$" Class=MEDIA ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318} provider=%ProviderName% ;;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 DriverVer=1/14/2008,1.0.0.3 ;You must specify which platform is supported by each SourceDisksNames section ;Valid platform identifiers include .x86, .ia64, .alpha, .axp64 [SourceDisksNames.x86] 222=%DiskDescription%,,, ;You must also specify which platform is supported by each SourceDisksFiles section ;Valid platform identifiers include .x86, .ia64, .alpha, .axp64 [SourceDisksFiles.x86] tw68aud.sys=222 tw68prop.dll=222 Migrate.dll=222 tw68aud.inf=222 [Manufacturer] %MfgName%=Techwell ;; Excluding drivers from the "Add New Hardware" list. [ControlFlags] ExcludeFromSelect = * [Techwell] %TW68AUD_AA.DeviceDesc%=TW68AUD, PCI\VEN_1797&DEV_6802 %TW68AUD_AA.DeviceDesc%=TW68AUD, PCI\VEN_1797&DEV_6805 [DestinationDirs] TW68AUD.CopyList=10,system32\drivers TW68PROP.CopyList=10,system32 DevUpgrd_Files = 10, win9xmig\DevUpgrd WDMDriver_Files = 10, win9xmig\DevUpgrd\AC97WDM ; Replace "AC97WDM" with your favorite vendor related name [TW68AUD] ;;This inf is intended for use by IHV. So, it's going to be used as from OEM distributed disk ;;This is why AlsoInstall got used instead if Needs & Include AlsoInstall=KS.Registration(ks.inf), WDMAUDIO.Registration(wdmaudio.inf) CopyFiles=TW68AUD.CopyList, DevUpgrd_Files, WDMDriver_Files AddReg=TW68AUD.AddReg,TW68AUD_NAMES.AddReg,TW68AUD_OEM.AddReg,DevUpgrd_AddReg KnownRegEntries=TW68.KnownRegEntries [TW68.KnownRegEntries] IsWin98Gold=keep [IsWin98Gold] 1=HKLM,Software\Microsoft\Windows\CurrentVersion,VersionNumber,0,4.10.1998 [TW68AUD.CopyList] TW68AUD.sys [DevUpgrd_Files] ;;This migrate.dll can be found in the DDK (beta2 or after) under src\setup\devupgrd Migrate.dll [WDMDriver_Files] tw68aud.inf ; Name of your INF goes here TW68AUD.sys ; Name of your driver file(s) goes here tw68prop.dll [TW68AUD.Interfaces] AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,TW68AUD.Interface.Wave AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_Wave%,TW68AUD.Interface.Wave AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Topology%,TW68AUD.Interface.Topology [TW68AUD.Interface.Wave] AddReg=TW68AUD.I.Wave.AddReg [TW68AUD.I.Wave.AddReg] HKR,,CLSID,,%Proxy.CLSID% HKR,,FriendlyName,,%TW68AUD.Wave.szPname% [TW68AUD.Interface.Topology] AddReg=TW68AUD.I.Topo.AddReg [TW68AUD.I.Topo.AddReg] HKR,,CLSID,,%Proxy.CLSID% HKR,,FriendlyName,,%TW68AUD.Topology.szPname% [TW68AUD.AddReg] HKR,,AssociatedFilters,,"wdmaud,swmidi,redbook" HKR,,Driver,,TW68AUD.sys HKR,,NTMPDriver,,"TW68AUD.sys,sbemul.sys" HKR,Drivers,SubClasses,,"wave,mixer" HKR,Drivers\wave\wdmaud.drv,Driver,,wdmaud.drv HKR,Drivers\mixer\wdmaud.drv,Driver,,wdmaud.drv HKR,Drivers\wave\wdmaud.drv,Description,,%TW68AUD.DeviceDesc% HKR,Drivers\mixer\wdmaud.drv,Description,,%TW68AUD.DeviceDesc% [DevUpgrd_AddReg] HKLM,"Software\Microsoft\Windows\CurrentVersion\Setup\Migration DLLs","Microsoft Device Upgrade Pack",,%10%\win9xmig\DevUpgrd HKLM,"Software\Microsoft\Windows\CurrentVersion\Setup\UpgradeDrivers","PCI\VEN_17976&DEV_6802",,%10%\win9xmig\DevUpgrd\AC97WDM\TW68AUD.inf [TW68AUD.Services] AddService = TW68AUD, 0x00000002, TW68AUD_Service_Inst [TW68AUD_Service_Inst] DisplayName = %TW68AUD.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %10%\system32\drivers\TW68AUD.sys [TW68AUD_NAMES.AddReg] ;; Nodes HKLM,%MediaCategories%\%TW68GUID.WaveInSelect%,Name,,%TW68Node.WaveInSelect% HKLM,%MediaCategories%\%TW68GUID.WaveInSelect%,Display,1,00,00,00,00 HKLM,%MediaCategories%\%TW68GUID.MicInVolume%,Name,,%TW68Node.MicInVolume% HKLM,%MediaCategories%\%TW68GUID.MicInVolume%,Display,1,00,00,00,00 HKLM,%MediaCategories%\%TW68GUID.MicInMute%,Name,,%TW68Node.MicInMute% HKLM,%MediaCategories%\%TW68GUID.MicInMute%,Display,1,00,00,00,00 ;; Pins HKLM,%MediaCategories%\%TW68GUID.Mic0%,Name,,%TW68Pin.Mic0% HKLM,%MediaCategories%\%TW68GUID.Mic0%,Display,1,00,00,00,00 HKLM,%MediaCategories%\%TW68GUID.Mic1%,Name,,%TW68Pin.Mic1% HKLM,%MediaCategories%\%TW68GUID.Mic1%,Display,1,00,00,00,00 HKLM,%MediaCategories%\%TW68GUID.Mic2%,Name,,%TW68Pin.Mic2% HKLM,%MediaCategories%\%TW68GUID.Mic2%,Display,1,00,00,00,00 HKLM,%MediaCategories%\%TW68GUID.Mic3%,Name,,%TW68Pin.Mic3% HKLM,%MediaCategories%\%TW68GUID.Mic3%,Display,1,00,00,00,00 [TW68AUD_OEM.AddReg] ;;Default register value at driver startup ;;Uncomment some one of the lines if you want to overwrite the default setting ;;The value in these outcommented lines is the driver default. You can change ;;the register values (and uncomment the line) to overwrite the driver default. ;;low byte comes first, values are hexadezimal. ;;Configuration HKR,Settings,MaxBufferCount,3,2,0,0,0 ; Maximum Queued Buffer HKR,Settings,ACTL1,3,00,00,08,00 ; ACTL1 HKR,Settings,APACKET,3,00,00,00,00 ; APACKET HKR,Settings,ACTL2,3,01,0A,00,00 ; ACTL2 HKR,Settings,ACORE,3,00,00,00,00 ; ACORE HKR,Settings,APCICLKREF,3,9A,F1,07,00 ; APCICLKREF: For M66EN=1 and 66MHz, or M66EN=0 and 33MHz ;;;HKR,Settings,APCICLKREF,3,CD,F8,03,00 ; APCICLKREF: For M66EN=0 and 66MHz HKR,Settings,AVIDEOCLKREF,3,83,B5,09,00 ; AVIDEOCLKREF HKR,Settings,ACLKSEL,3,48,00,00,00 ; ACLKSEL HKR,Settings,AANACTL,3,0A,08,01,00 ; AANACTL ;;================= Windows 2000 ==================== [TW68AUD.NTX86] Include=ks.inf,wdmaudio.inf Needs=KS.Registration,WDMAUDIO.Registration CopyFiles=TW68AUD.CopyList,TW68PROP.CopyList AddReg=TW68AUD.AddReg,TW68AUD_NAMES.AddReg,TW68AUD_OEM.AddReg,TW68PROP.AddReg [TW68AUD.NTX86.Interfaces] AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,TW68AUD.Interface.Wave AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_Wave%,TW68AUD.Interface.Wave AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Topology%,TW68AUD.Interface.Topology [TW68AUD.NTX86.Services] AddService = TW68AUD, 0x00000002, TW68AUD_Service_Inst [TW68PROP.CopyList] tw68prop.dll [TW68PROP.AddReg] HKR,,EnumPropPages32,,"tw68prop.dll,TW68PropPageProvider" [Strings] ProviderName="Techwell Inc." MfgName="Techwell" DiskDescription="Techwell TW6802 WDM Audio Driver Disk" TW68AUD_AA.DeviceDesc="TW6802 WDM Audio Capture" TW68AUD_AB.DeviceDesc="TW6802 WDM Audio Capture" TW68AUD_BA.DeviceDesc="TW6802 WDM Audio Capture" TW68AUD.DeviceDesc="TW6802 WDM Audio Capture" TW68AUD.Wave.szPname="TW6802 Audio" TW68AUD.Topology.szPname="TW6802 Mixer" MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories" 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" TW68AUD.SvcDesc = "Service for TW6802 Audio Driver (WDM)" ;; Pins (non-localizeable) TW68GUID.Mic0 ="{F79D2391-B79E-4566-AD0E-7949C15B9953}" TW68GUID.Mic1 ="{77EBB395-076E-4362-9542-F7EF3EE50A55}" TW68GUID.Mic2 ="{34E954D7-A7EC-4239-AA77-BC2C7E8495BE}" TW68GUID.Mic3 ="{4C7E4E54-5453-4bc4-8D7A-64B4F86A6076}" TW68GUID.MicInVolume ="{58CF6C8B-C1ED-419b-BAAA-1B3A3D716FEF}" TW68GUID.MicInMute ="{E15E10B0-078A-4f0c-9120-AE4D89D3EC6D}" TW68GUID.WaveInSelect ="{87EF8DC1-D7F1-4732-994E-D2B468D6CC6C}" ;; Nodes (localizeable) ;; Pins TW68Pin.Mic0 ="Mic In 0" TW68Pin.Mic1 ="Mic In 1" TW68Pin.Mic2 ="Mic In 2" TW68Pin.Mic3 ="Mic In 3" TW68Node.MicInVolume ="Mic In Volume" TW68Node.MicInMute ="Mic In Mute" TW68Node.WaveInSelect ="Wave In Select" [Strings.0407] ProviderName="Techwell Inc." MfgName="Techwell" DiskDescription="Diskette für TW6802 WDM Treiberbeispiel" TW68AUD_AA.DeviceDesc="Audio Treiberbeispiel für TW6802 Kontroller" TW68AUD_AB.DeviceDesc="Audio Treiberbeispiel für TW6802 Kontroller" TW68AUD_BA.DeviceDesc="Audio Treiberbeispiel für TW6802 Controller" TW68AUD.DeviceDesc="Audio Treiberbeispiel für TW6802 Kontroller" TW68AUD.Wave.szPname="TW6802 Musikkarte" TW68AUD.Topology.szPname="TW6802 Mixer" MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories" 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" TW68AUD.SvcDesc = "Installationshilfe für TW6802 Treiberbeispiel (WDM)" ;; Nodes (non-localizeable) ;; Pins (non-localizeable) TW68GUID.Mic0 ="{F79D2391-B79E-4566-AD0E-7949C15B9953}" TW68GUID.Mic1 ="{77EBB395-076E-4362-9542-F7EF3EE50A55}" TW68GUID.Mic2 ="{34E954D7-A7EC-4239-AA77-BC2C7E8495BE}" TW68GUID.Mic3 ="{4C7E4E54-5453-4bc4-8D7A-64B4F86A6076}" TW68GUID.MicInVolume ="{58CF6C8B-C1ED-419b-BAAA-1B3A3D716FEF}" TW68GUID.MicInMute ="{E15E10B0-078A-4f0c-9120-AE4D89D3EC6D}" TW68GUID.WaveInSelect ="{87EF8DC1-D7F1-4732-994E-D2B468D6CC6C}" ;; Nodes (localizeable) ;; Pins TW68Pin.Mic0 ="Mic In 0" TW68Pin.Mic1 ="Mic In 1" TW68Pin.Mic2 ="Mic In 2" TW68Pin.Mic3 ="Mic In 3" TW68Node.MicInVolume ="Mic In Volume" TW68Node.MicInMute ="Mic In Mute" TW68Node.WaveInSelect ="Wave In Select"