;
;C-MEDIA Inc. Xtreme Audio DAC Driver
;

[Version]
signature="$WINDOWS NT$"
Class=Media
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=%CMEDIA%
Catalogfile=MS7966.cat
DriverVer=04/18/2018,10.0.01.16

[SourceDisksNames]
1000=%cdname%,,,

[SourceDisksFiles.x86]
MS7966.sys=1000,\x86


[SourceDisksFiles.amd64]
MS7966.sys=1000,\x64


[DestinationDirs]
DefaultDestDir=12
MS7966.CopyFiles=12


[SignatureAttributes]
MS7966.sys=SignatureAttributes.DRM



[SignatureAttributes.DRM]
DRMLevel=1300

[SignatureAttributes.PETrust]
PETrust=true

[Manufacturer]
%ManufacturerString%=ManufacturerID,NTamd64

[ManufacturerID]
%MS7966.DeviceDesc%=MS7966,USB\VID_1462&PID_D966&MI_00

[ManufacturerID.NTamd64]
%MS7966.DeviceDesc%=MS7966,USB\VID_1462&PID_D966&MI_00

;---------------------------------------------------------------
;                x 86  D D I n s t a l l
;---------------------------------------------------------------

[MS7966]
Include=ks.inf, wdmaudio.inf
Needs=KS.Registration,WDMAUDIO.Registration
DelReg=MS7966.DelReg
AddReg=MS7966.AddReg, MS7966_NAMES.AddReg
AddProperty=MS7966Branding.AddProperty
CopyFiles=MS7966.CopyFiles

;---------------------------------------------------------------
;                A M D 64  D D I n s t a l l
;---------------------------------------------------------------

[MS7966.NTamd64]
Include=ks.inf, wdmaudio.inf
Needs=KS.Registration,WDMAUDIO.Registration
DelReg=MS7966.DelReg
AddReg=MS7966.AddReg, MS7966_NAMES.AddReg
AddProperty=MS7966Branding.AddProperty
CopyFiles=MS7966.CopyFiles

[MS7966Branding.AddProperty]
DeviceVendorWebSite,,,,"http://www.cmedia.com.tw" ; Place your URL here

;---------------------------------------------------------------
;                I n t e r f a c e s
;---------------------------------------------------------------

[MS7966.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPEAKER.WAVE%,Audio.I.SPEAKER.WAVE
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_SPEAKER.WAVE%,Audio.I.SPEAKER.WAVE

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPDIFOUT.WAVE%,Audio.I.SPDIFOUT.WAVE
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_SPDIFOUT.WAVE%,Audio.I.SPDIFOUT.WAVE

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_HPOUT.WAVE%,Audio.I.HPOUT.WAVE
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_HPOUT.WAVE%,Audio.I.HPOUT.WAVE

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_RECIN.WAVE%,Audio.I.RECIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_RECIN.WAVE%,Audio.I.RECIN.WAVE

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_MICIN.WAVE%,Audio.I.MICIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_MICIN.WAVE%,Audio.I.MICIN.WAVE

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_LINEIN.WAVE%,Audio.I.LINEIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_LINEIN.WAVE%,Audio.I.LINEIN.WAVE

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPDIFIN.WAVE%,Audio.I.SPDIFIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_SPDIFIN.WAVE%,Audio.I.SPDIFIN.WAVE

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_GLOBAL.TOPO%,Audio.I.GLOBAL.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_GLOBAL.TOPO%,Audio.I.GLOBAL.TOPO

[MS7966.NTamd64.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPEAKER.WAVE%,Audio.I.SPEAKER.WAVE
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_SPEAKER.WAVE%,Audio.I.SPEAKER.WAVE

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPDIFOUT.WAVE%,Audio.I.SPDIFOUT.WAVE
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_SPDIFOUT.WAVE%,Audio.I.SPDIFOUT.WAVE

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_HPOUT.WAVE%,Audio.I.HPOUT.WAVE
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_HPOUT.WAVE%,Audio.I.HPOUT.WAVE

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_RECIN.WAVE%,Audio.I.RECIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_RECIN.WAVE%,Audio.I.RECIN.WAVE

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_MICIN.WAVE%,Audio.I.MICIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_MICIN.WAVE%,Audio.I.MICIN.WAVE

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_LINEIN.WAVE%,Audio.I.LINEIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_LINEIN.WAVE%,Audio.I.LINEIN.WAVE

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPDIFIN.WAVE%,Audio.I.SPDIFIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_SPDIFIN.WAVE%,Audio.I.SPDIFIN.WAVE

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_GLOBAL.TOPO%,Audio.I.GLOBAL.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_GLOBAL.TOPO%,Audio.I.GLOBAL.TOPO

[Audio.I.SPEAKER.WAVE]
AddReg=MS7966.I.SPEAKER.WAVE.AddReg

[Audio.I.SPDIFOUT.WAVE]
AddReg=MS7966.I.SPDIFOUT.WAVE.AddReg

[Audio.I.HPOUT.WAVE]
AddReg=MS7966.I.HPOUT.WAVE.AddReg

[Audio.I.RECIN.WAVE]
AddReg=MS7966.I.RECIN.WAVE.AddReg

[Audio.I.MICIN.WAVE]
AddReg=MS7966.I.MICIN.WAVE.AddReg

[Audio.I.LINEIN.WAVE]
AddReg=MS7966.I.LINEIN.WAVE.AddReg

[Audio.I.SPDIFIN.WAVE]
AddReg=MS7966.I.SPDIFIN.WAVE.AddReg

[Audio.I.GLOBAL.TOPO]
AddReg=MS7966.I.GLOBAL.TOPO.AddReg, MS7966.EPProperties.AddReg

;---------------------------------------------------------------
;                A d d R e g
;---------------------------------------------------------------
[MS7966.AddReg]
HKR,,Driver,,MS7966.sys
HKR,,AssociatedFilters,,"wdmaud,redbook"
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,,%MS7966.Audio.DeviceDesc%
HKR,Drivers\midi\wdmaud.drv,Description,,%MS7966.Audio.DeviceDesc%
HKR,Drivers\mixer\wdmaud.drv,Description,,%MS7966.Audio.DeviceDesc%

[MS7966_NAMES.AddReg]
HKLM,%MediaCategories%\%MS7966GUID.SpdifOut%,Name,,%MS7966Node.SpdifOut%
HKLM,%MediaCategories%\%MS7966GUID.SpdifOut%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%MS7966GUID.SpdifIn%,Name,,%MS7966Node.SpdifIn%
HKLM,%MediaCategories%\%MS7966GUID.SpdifIn%,Display,1,00,00,00,00

HKLM,%MediaCategories%\%HDAGuidStereoMixPin%,Name,,%HDAStereoMixPinName%
HKLM,%MediaCategories%\%HDAGuidStereoMixPin%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%HDAGuidAuxInPin%,Name,,%HDAAuxInPinName%
HKLM,%MediaCategories%\%HDAGuidAuxInPin%,Display,1,00,00,00,00

[MS7966.I.SPEAKER.WAVE.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%MS7966.SPEAKER.WAVE.szPname%

[MS7966.I.SPDIFOUT.WAVE.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%MS7966.SPDIFOUT.WAVE.szPname%

[MS7966.I.HPOUT.WAVE.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%MS7966.HPOUT.WAVE.szPname%

[MS7966.I.RECIN.WAVE.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%MS7966.RECIN.WAVE.szPname%

[MS7966.I.MICIN.WAVE.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%MS7966.MICIN.WAVE.szPname%

[MS7966.I.LINEIN.WAVE.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%MS7966.LINEIN.WAVE.szPname%

[MS7966.I.SPDIFIN.WAVE.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%MS7966.SPDIFIN.WAVE.szPname%

[MS7966.I.GLOBAL.TOPO.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%MS7966.GLOBAL.TOPO.szPname%

[MS7966.EPProperties.AddReg]
HKR,"EP\\0",%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,"EP\\0",%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1


;---------------------------------------------------------------
;                D e l R e g
;---------------------------------------------------------------

[MS7966.DelReg]
HKR,Settings

;---------------------------------------------------------------
;                Copy Files
;---------------------------------------------------------------

[MS7966.CopyFiles]
MS7966.SYS



;---------------------------------------------------------------
;                S e r v i c e s  
;---------------------------------------------------------------

[MS7966.Services]
AddService=MS7966, 0x00000002, MS7966.ServiceInstall

[MS7966.NTamd64.Services]
AddService=MS7966, 0x00000002, MS7966.ServiceInstall

[MS7966.ServiceInstall]
DisplayName=%MS7966.SvcDesc%
ServiceType=%SERVICE_KERNEL_DRIVER%
StartType=%SERVICE_DEMAND_START%
ErrorControl=%SERVICE_ERROR_NORMAL%
ServiceBinary=%12%\MS7966.sys

;---------------------------------------------------------------
;                S t r i n g s
;---------------------------------------------------------------

[Strings]
; non-localizeable
Proxy.CLSID="{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
KSCATEGORY_RENDER="{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_CAPTURE="{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_AUDIO="{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_TOPOLOGY = "{DDA54A40-1E4C-11D1-A050-405705C10000}" ; non-localizable
KSCATEGORY_REALTIME = "{EB115FFC-10C8-4964-831D-6DCB02E6F23F}" ; non-localizable


KSNAME_SPEAKER.WAVE="SPKOut00Wave"
KSNAME_SPDIFOUT.WAVE="SPDIFOut00Wave"
KSNAME_HPOUT.WAVE="HPOut00Wave"
KSNAME_RECIN.WAVE="RecIn00Wave"
KSNAME_MICIN.WAVE="MicIn00Wave"
KSNAME_LINEIN.WAVE="LineIn00Wave"
KSNAME_SPDIFIN.WAVE="SPDIFIn00Wave"
KSNAME_GLOBAL.TOPO="GlobalTopo"

SERVICE_KERNEL_DRIVER=1
SERVICE_DEMAND_START=3
SERVICE_ERROR_NORMAL=1
REG_DWORD=0x00010001

MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories"

;localizeable
MS7966GUID.SpdifOut="{12C15946-BA58-42c1-9F11-8341E2198622}"
MS7966GUID.SpdifIn	="{017D895C-7AE7-4f4d-B78C-CD1FFC0CE776}"
HDAGuidStereoMixPin 		="{8c5716e6-c984-492e-a2fb-1385f2d0f3c9}"
HDAGuidAuxInPin 		="{5f4bb488-a646-408a-9265-8647f9c374d4}"

CMEDIA="C-MEDIA Inc."
ManufacturerString="C-MEDIA Inc."
MS7966.DeviceDesc="Xtreme Audio DAC"
MS7966.SvcDesc="USB Audio Service"
MS7966.SPEAKER.WAVE.szPname="Speaker"
MS7966.SPDIFOUT.WAVE.szPname="SpdifOut"
MS7966.HPOUT.WAVE.szPname="Headphone"
MS7966.RECIN.WAVE.szPname="Capture"
MS7966.MICIN.WAVE.szPname="MicIn"
MS7966.LINEIN.WAVE.szPname="LineIn"
MS7966.SPDIFIN.WAVE.szPname="SpdifIn"
MS7966.GLOBAL.TOPO.szPname="Global Mixer"
MS7966.Audio.DeviceDesc="Xtreme Audio DAC Audio"
cdname="C-MEDIA Inc. Xtreme Audio DAC Installation Disk"
MS7966Node.SpdifOut="SPDIF Out"
MS7966Node.SpdifIn="SPDIF In"
HDAStereoMixPinName="Stereo Mix"
HDAAuxInPinName="Aux In"

;; These are the name strings for the wave miniports displayed in mmsys.cpl
;;

KSNODETYPE_ANY                    = "{00000000-0000-0000-0000-000000000000}"
KSNODETYPE_SPEAKER                = "{DFF21CE1-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_LINE_CONNECTOR         = "{DFF21FE3-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_HEADSET_SPEAKERS       = "{DFF21CE6-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_HEADPHONES             = "{DFF21CE2-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_DESKTOP_SPEAKER        = "{DFF21CE4-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_SPDIF_INTERFACE        = "{DFF21FE5-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_MICROPHONE             = "{DFF21BE1-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_DESKTOP_MICROPHONE     = "{DFF21BE2-F70F-11D0-B917-00A0C9223196}"
;;
;; PropertyKey GUIDS
;;

PKEY_AudioEndpoint_Association  = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2"
PKEY_AudioEndpoint_Supports_EventDriven_Mode = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},7"

REG_BINARY          = 0x00000001
