;

;Lenovo Inc. Lenovo OneLink series Dock Driver

;



[Version]

signature="$WINDOWS NT$"

Class=Media

ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}

Provider=%CMEDIA%

Catalogfile=DU90S1.cat

DriverVer=11/23/2017,10.0.01.03


[SourceDisksNames]

1000=%cdname%,,,


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

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

[SignatureAttributes]
DU90S1.sys=SignatureAttributes.DRM

[SignatureAttributes.DRM]
DRMLevel=1300

[DestinationDirs]
DefaultDestDir=12
DU90S1.CopyFiles=12

[Manufacturer]

%ManufacturerString%=ManufacturerID,NTamd64



[ManufacturerID]

%DU90S1.DeviceDesc%=DU90S1,USB\VID_17EF&PID_3055&MI_00
%DU90S1.DeviceDesc%=DU90S1,USB\VID_17EF&PID_3049&MI_00
%DU90S1.DeviceDesc%=DU90S1,USB\VID_17EF&PID_304E&MI_00



[ManufacturerID.NTamd64]

%DU90S1.DeviceDesc%=DU90S1,USB\VID_17EF&PID_3055&MI_00
%DU90S1.DeviceDesc%=DU90S1,USB\VID_17EF&PID_3049&MI_00
%DU90S1.DeviceDesc%=DU90S1,USB\VID_17EF&PID_304E&MI_00


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

[DU90S1]
Include=ks.inf, wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration
DelReg=DU90S1.DelReg
AddReg=DU90S1.AddReg, DU90S1_NAMES.AddReg
AddProperty=DU90S1Branding.AddProperty
CopyFiles=DU90S1.CopyFiles

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

[DU90S1.NTamd64]
Include=ks.inf, wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration
DelReg=DU90S1.DelReg
AddReg=DU90S1.AddReg, DU90S1_NAMES.AddReg
AddProperty=DU90S1Branding.AddProperty
CopyFiles=DU90S1.CopyFiles

[DU90S1Branding.AddProperty]
DeviceVendorWebSite,,,,"http://www.lenovo.com" ; Place your URL here

;---------------------------------------------------------------

;                I n t e r f a c e s

;---------------------------------------------------------------



[DU90S1.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



[DU90S1.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=DU90S1.I.SPEAKER.WAVE.AddReg



[Audio.I.SPDIFOUT.WAVE]

AddReg=DU90S1.I.SPDIFOUT.WAVE.AddReg



[Audio.I.HPOUT.WAVE]

AddReg=DU90S1.I.HPOUT.WAVE.AddReg



[Audio.I.RECIN.WAVE]

AddReg=DU90S1.I.RECIN.WAVE.AddReg



[Audio.I.MICIN.WAVE]

AddReg=DU90S1.I.MICIN.WAVE.AddReg



[Audio.I.LINEIN.WAVE]

AddReg=DU90S1.I.LINEIN.WAVE.AddReg



[Audio.I.SPDIFIN.WAVE]

AddReg=DU90S1.I.SPDIFIN.WAVE.AddReg



[Audio.I.GLOBAL.TOPO]

AddReg=DU90S1.I.GLOBAL.TOPO.AddReg

;---------------------------------------------------------------

;                A d d R e g

;---------------------------------------------------------------

[DU90S1.AddReg]

HKR,,Driver,,DU90S1.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,,%DU90S1.Audio.DeviceDesc%

HKR,Drivers\midi\wdmaud.drv,Description,,%DU90S1.Audio.DeviceDesc%

HKR,Drivers\mixer\wdmaud.drv,Description,,%DU90S1.Audio.DeviceDesc%

HKR,PowerSettings,ConservationIdleTime,1,00,00,00,0     ; Not doing idle power management when on battery

HKR,PowerSettings,PerformanceIdleTime,1,00,00,00,00     ; Not doing idle power management when on AC power

HKR,PowerSettings,IdlePowerState,1,03,00,00,00          ; go to D3 for idle power management



[DU90S1_NAMES.AddReg]

HKLM,%MediaCategories%\%DU90S1GUID.SpdifOut%,Name,,%DU90S1Node.SpdifOut%

HKLM,%MediaCategories%\%DU90S1GUID.SpdifOut%,Display,1,00,00,00,00

HKLM,%MediaCategories%\%DU90S1GUID.SpdifIn%,Name,,%DU90S1Node.SpdifIn%

HKLM,%MediaCategories%\%DU90S1GUID.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



[DU90S1.I.SPEAKER.WAVE.AddReg]

HKR,,CLSID,,%Proxy.CLSID%

HKR,,FriendlyName,,%DU90S1.SPEAKER.WAVE.szPname%



[DU90S1.I.SPDIFOUT.WAVE.AddReg]

HKR,,CLSID,,%Proxy.CLSID%

HKR,,FriendlyName,,%DU90S1.SPDIFOUT.WAVE.szPname%



[DU90S1.I.HPOUT.WAVE.AddReg]

HKR,,CLSID,,%Proxy.CLSID%

HKR,,FriendlyName,,%DU90S1.HPOUT.WAVE.szPname%



[DU90S1.I.RECIN.WAVE.AddReg]

HKR,,CLSID,,%Proxy.CLSID%

HKR,,FriendlyName,,%DU90S1.RECIN.WAVE.szPname%



[DU90S1.I.MICIN.WAVE.AddReg]

HKR,,CLSID,,%Proxy.CLSID%

HKR,,FriendlyName,,%DU90S1.MICIN.WAVE.szPname%



[DU90S1.I.LINEIN.WAVE.AddReg]

HKR,,CLSID,,%Proxy.CLSID%

HKR,,FriendlyName,,%DU90S1.LINEIN.WAVE.szPname%



[DU90S1.I.SPDIFIN.WAVE.AddReg]

HKR,,CLSID,,%Proxy.CLSID%

HKR,,FriendlyName,,%DU90S1.SPDIFIN.WAVE.szPname%



[DU90S1.I.GLOBAL.TOPO.AddReg]

HKR,,CLSID,,%Proxy.CLSID%

HKR,,FriendlyName,,%DU90S1.GLOBAL.TOPO.szPname%


;---------------------------------------------------------------

;                D e l R e g

;---------------------------------------------------------------



[DU90S1.DelReg]

HKR,Settings



;---------------------------------------------------------------

;                S e r v i c e s  

;---------------------------------------------------------------



[DU90S1.Services]

AddService=LENOVO_ONELINK_SERIES_DOCK, 0x00000002, LENOVO_ONELINK_SERIES_DOCK.ServiceInstall



[DU90S1.NTamd64.Services]

AddService=LENOVO_ONELINK_SERIES_DOCK, 0x00000002, LENOVO_ONELINK_SERIES_DOCK.ServiceInstall



[LENOVO_ONELINK_SERIES_DOCK.ServiceInstall]

DisplayName=%DU90S1.SvcDesc%

ServiceType=%SERVICE_KERNEL_DRIVER%

StartType=%SERVICE_DEMAND_START%

ErrorControl=%SERVICE_ERROR_NORMAL%

ServiceBinary=%12%\DU90S1.sys


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

[DU90S1.CopyFiles]
DU90S1.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





MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories"



;localizeable

DU90S1GUID.SpdifOut     ="{12C15946-BA58-42c1-9F11-8341E2198622}"

DU90S1GUID.SpdifIn	="{017D895C-7AE7-4f4d-B78C-CD1FFC0CE776}"

HDAGuidStereoMixPin 	="{8c5716e6-c984-492e-a2fb-1385f2d0f3c9}"

HDAGuidAuxInPin 	="{5f4bb488-a646-408a-9265-8647f9c374d4}"



CMEDIA="C-MEDIA Inc."

ManufacturerString="Lenovo Inc."

DU90S1.DeviceDesc="Lenovo OneLink series Dock 90S1"

DU90S1.SvcDesc="Lenovo OneLink series Dock 90S1"

DU90S1.SPEAKER.WAVE.szPname="Speaker"

DU90S1.SPDIFOUT.WAVE.szPname="SpdifOut"

DU90S1.HPOUT.WAVE.szPname="Headphone"

DU90S1.RECIN.WAVE.szPname="Capture"

DU90S1.MICIN.WAVE.szPname="MicIn"

DU90S1.LINEIN.WAVE.szPname="LineIn"

DU90S1.SPDIFIN.WAVE.szPname="SpdifIn"

DU90S1.GLOBAL.TOPO.szPname="Global Mixer"

DU90S1.Audio.DeviceDesc="Lenovo OneLink series Dock 90S1 Audio"

cdname="Lenovo Inc. Lenovo OneLink series Dock 90S1 Installation Disk"

DU90S1Node.SpdifOut="SPDIF Out"

DU90S1Node.SpdifIn="SPDIF In"

HDAStereoMixPinName="Stereo Mix"

HDAAuxInPinName="Aux In"



REG_BINARY          = 0x00000001

REG_DWORD           = 0x00010001
