;-------------------------------------------------------------------------------
; P1050Vid.INF -- Creative WebCam Model Number PD1050 installation
; Copyright (c) 2002 Creative Technology Ltd. All rights reserved.
;-------------------------------------------------------------------------------

;------------------ Version ----------------------------------------------------

[Version]
Signature   ="$CHICAGO$"
Class       =Image
ClassGUID   ={6BDD1FC6-810F-11D0-BEC7-08002BE2092F}
Provider    =%szProvider%
LayoutFile  =Layout.inf,Layout1.inf,Layout2.inf
CatalogFile =P1050Vid.cat
DriverVer   =01/03/2003,%szVersion%

;------------------ DestinationDirs --------------------------------------------

[DestinationDirs]
DefaultDestDir            =11
CtlCam.CopyWDMDrivers     =10,System32\Drivers
CtlCam.CopyWDMDrivers.NT  =12
CtlCam.CopyUserDrivers    =11
CtlCam.CopyVfwDrivers     =11
CtlCam.CopyVfwDrivers.NT  =11
CtlCam.CopySTIDrivers     =11
CtlCam.CopyTwainDrivers   =10,TWAIN_32\Creative\%szModelNo%
CtlCam.CopyWinFiles       =10
CtlCam.CopyTWAINFiles     =10

CtlCam.CopyInstallFiles   =10
CtlCam.CopySysFiles       =11
CtlCam.CopyWDMDrivers.SYS =10,System32\Drivers
CtlCam.CopyCodec.SYS      =11

;------------------ Device -----------------------------------------------------

[ControlFlags]
ExcludeFromSelect  =*
InteractiveInstall =USB\VID_041E&PID_4011&MI_00

[Manufacturer]
%szProvider% =Creative
 
[Creative]
%szWDMDeviceDesc% =CtlCam,USB\VID_041E&PID_4011&MI_00

;------------------ Install Section --------------------------------------------

[CtlCam]
DriverVer     =01/03/2003,%szVersion%
CopyFiles     =CtlCam.CopyWDMDrivers,CtlCam.CopyUserDrivers,CtlCam.CopyVFWDrivers,CtlCam.CopySTIDrivers,CtlCam.CopyTWAINDrivers,CtlCam.CopyWinFiles,CtlCam.CopyInstallFiles,CtlCam.CopyTWAINFiles,CtlCam.CopySysFiles,CtlCam.CopyWDMDrivers.SYS,CtlCam.CopyCodec.SYS
AddReg        =CtlCam.AddReg,CtlCam.Cm.AddReg,CtlCam.STI.Cm.AddReg,CtlCam.DS.Cm.AddReg,CtlCam.Uns.Cm.AddReg,CtlCam.Dev.AddReg,CtlCam.Dev.Cm.AddReg,CtlCam.VFW.AddReg,CtlCam.Uns.AddReg,CtlCam.Ins.AddReg
Include       =Ks.inf,KsCaptur.inf,KsFilter.inf
Needs         =KS.Registration,KSCAPTUR.Registration,MSPCLOCK.Installation
UpdateInis    =CtlCam.UpdateIni

SubClass      =StillImage
DeviceType    =%szDeviceType%
DeviceSubType =%szDeviceSubType%
Capabilities  =%szCapabilities%
DeviceData    =CtlCam.STIDeviceData
Events        =CtlCam.STIEvents
ICMProfiles   ="sRGB Color Space Profile.icm"

[CtlCam.NT]
CopyFiles     =CtlCam.CopyWDMDrivers.NT,CtlCam.CopyUserDrivers,CtlCam.CopyVFWDrivers.NT,CtlCam.CopySTIDrivers,CtlCam.CopyTWAINDrivers,CtlCam.CopyWinFiles,CtlCam.CopyInstallFiles,CtlCam.CopyTWAINFiles,CtlCam.CopySysFiles
AddReg        =CtlCam.Cm.AddReg,CtlCam.STI.Cm.AddReg,CtlCam.DS.Cm.AddReg,CtlCam.Uns.Cm.AddReg,CtlCam.Dev.AddReg.NT,CtlCam.Dev.Cm.AddReg,CtlCam.VFW.AddReg.NT,CtlCam.Uns.AddReg.NT
Include       =Ks.inf,KsCaptur.inf
Needs         =KS.Registration,KSCAPTUR.Registration.NT

SubClass      =StillImage
DeviceType    =%szDeviceType%
DeviceSubType =%szDeviceSubType%
Capabilities  =%szCapabilities%
DeviceData    =CtlCam.STIDeviceData
Events        =CtlCam.STIEvents
ICMProfiles   ="sRGB Color Space Profile.icm"

[CtlCam.NT.CoInstallers]
AddReg    =CtlCam.CoInst.AddReg
CopyFiles =CtlCam.CopyCoInstFile

[CtlCam.CoInst.AddReg]
HKR,,CoInstallers32,0x00010000,"%szPluginFile%,CoInstallerEntryPoint"

;------------------ STI & TWAIN Settings ---------------------------------------

[CtlCam.STIDeviceData]
TwainDS     =%szTwainDSDesc%

[CtlCam.STIEvents]
NewPicture =%szSTINewPictureDesc%,%STINewPicture.GUID%,%szSTIAppName%
LaunchApp  =%szSTILaunchAppDesc%,%STILaunchApp.GUID%,%szSTIAppName%

;------------------ Registry Settings ------------------------------------------

[CtlCam.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,%szWDMDriver%

[CtlCam.Cm.AddReg]
HKLM,%CTConfigRegistry%,"Version",0,%szVersion%
HKR,,HardwareConfig,1,4
HKR,,VfwKey,,%szVfwKey%
HKR,,WdmDeviceDesc,,%szWDMDeviceDesc%
HKR,,VfwDeviceDesc,,%szVfwDeviceDesc%
HKR,,CreateFileName,,"USBCamera"
HKR,,CtProductName,,%szWDMDeviceDesc%
HKR,,DefaultBandingFreq,,"50" ; factory default of banding frequency is 50Hz

[CtlCam.STI.Cm.AddReg]
HKR,,USDClass,,%STIDevice.GUID%
HKCR,CLSID\%STIDevice.GUID%,,,%szStillImageDesc%
HKCR,CLSID\%STIDevice.GUID%\InProcServer32,,,%11%\%szStillImageFile%
HKCR,CLSID\%STIDevice.GUID%\InProcServer32,ThreadingModel,,"Both"

HKCR,CLSID\%CLSID_Still_Sink%,,,%szStillSinkDesc%
HKCR,CLSID\%CLSID_Still_Sink%\InProcServer32,,,%11%\P1050St.ax
HKCR,CLSID\%CLSID_Still_Sink%\InProcServer32,ThreadingModel,,"Both"

HKLM,%Still_Sink_Instance%,CLSID,,%CLSID_Still_Sink%
HKLM,%Still_Sink_Instance%,FriendlyName,,%szStillSinkDesc%
HKLM,%Still_Sink_Instance%,FilterData,1,02,00,00,00,00,00,20,00,01,00,00,00,00,00,00,00,30,70,69,33,00,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,30,74,79,33,00,00,00,00,38,00,00,00,38,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

[CtlCam.DS.Cm.AddReg]
;---------------------------------------
; ** Register the property set GUIDs **
;---------------------------------------
HKCR,CLSID\%CustomPropSet.GUID%,,,%szCustomPropSetDesc%
HKCR,CLSID\%CustomPropSet.GUID%\InprocServer32,,,%szVideoSourceFile%
HKCR,CLSID\%CustomPropSet.GUID%\InprocServer32,ThreadingModel,,"Both"

; This IID is aggregated for the filter given the CLSID of the property set
HKLM,System\CurrentControlSet\Control\MediaInterfaces\%CustomPropSet.GUID%,,,%szCustomPropSetDesc%
; {869E8C6F-0D84-420F-B44E-7BFBEE74D6CF}
HKLM,System\CurrentControlSet\Control\MediaInterfaces\%CustomPropSet.GUID%,IID,1,6F,8C,9E,86,84,0D,0F,42,0xB4,0x4E,0x7B,0xFB,0xEE,0x74,0xD6,0xCF

;---------------------------------------
; ** Register the property page GUIDs **
;---------------------------------------
HKCR,CLSID\%DeviceSettings.GUID%,,,%szDeviceSettingsDesc%
HKCR,CLSID\%DeviceSettings.GUID%\InprocServer32,,,%szVideoSourceFile%
HKCR,CLSID\%DeviceSettings.GUID%\InprocServer32,ThreadingModel,,"Both"

HKCR,CLSID\%VideoFormat.GUID%,,,%szVideoFormatDesc%
HKCR,CLSID\%VideoFormat.GUID%\InprocServer32,,,%szVideoFormatFile%
HKCR,CLSID\%VideoFormat.GUID%\InprocServer32,ThreadingModel,,"Both"

[CtlCam.Ins.AddReg]
HKLM,%MSRunOnce%,%szDeviceSetupDesc%,,"RunDLL32.exe %szPluginFile%,RunDLL32EP 515"

[CtlCam.Uns.Cm.AddReg]
HKLM,%MSUninstall%\%szUninstall%,"DisplayName",0,"%szUninstallDesc% (%szVersion%)"
HKLM,%MSUninstall%\%szUninstall%,"UninstallString",0,"%10%\CtDrvIns.exe -uninstall %USB.ID% -plugin %szPluginFile% -pluginres %szPluginResourceFile%"

[CtlCam.Dev.AddReg]
HKR,,OkToHibernate,3,01
HKR,,PageOutWhenUnopened,3,00
HKR,,PowerDownWhenUnopened,3,00

[CtlCam.Dev.AddReg.NT]
HKR,,OkToHibernate,3,01

[CtlCam.Dev.Cm.AddReg]

[CtlCam.VFW.AddReg]
HKLM,%MSMediaResMSVideo%\MSVideo.%szVfwKey%,"Description",,%szVfwDeviceDesc%
HKLM,%MSMediaResMSVideo%\MSVideo.%szVfwKey%,"FriendlyName",,%szVfwDeviceDesc%
HKLM,%MSMediaResMSVideo%\MSVideo.%szVfwKey%,"Driver",,%szVFWDriver%

[CtlCam.VFW.AddReg.NT]
HKLM,%MSMediaResMSVideo%\MSVideo.%szVfwKey%,"Description",,%szVfwDeviceDesc%
HKLM,%MSMediaResMSVideo%\MSVideo.%szVfwKey%,"FriendlyName",,%szVfwDeviceDesc%
HKLM,%MSMediaResMSVideo%\MSVideo.%szVfwKey%,"Driver",,%szVFWDriver.NT%

HKLM,%MSMMDriverDesc%,VfwWdm32.dll,,"WDM Video For Windows Capture Driver (Win32)"
HKLM,%MSMMDrivers%,MSVideo,,VfwWdm32.dll

[CtlCam.Uns.AddReg]
HKR,,CtUnsPath,,%szUninstallFile%
HKR,,CtUnsSection,,"CtlCam.Uns"

[CtlCam.Uns.AddReg.NT]
HKR,,CtUnsPath,,%szUninstallFile%
HKR,,CtUnsSection,,"CtlCam.Uns.NT"

;------------------ Interfaces -------------------------------------------------

[CtlCam.Interfaces]
AddInterface =%MSKsCategoryCapture.GUID%,GLOBAL,CtlCam.Interface

[CtlCam.NT.Interfaces]
AddInterface =%MSKsCategoryCapture.GUID%,GLOBAL,CtlCam.Interface

[CtlCam.Interface]
AddReg =CtlCam.Intf.AddReg

[CtlCam.Intf.AddReg]
HKR,,CLSID,,%MSProxyVCap.CLSID%
HKR,,FriendlyName,,%szWDMDeviceDesc%
HKR,,ExtensionDLL,,%szVFWPropPageFile%

; Overrides the standard VideoProcAmp property page with custom one
; {6ED7A897-C5F0-441a-B805-8FB2B51DCD1F}
HKR,PageAliases,"{71F96465-78F3-11d0-A18C-00A0C9118956}",1,0x97,0xA8,0xD7,0x6E,0xF0,0xC5,0x1A,0x44,0xB8,0x05,0x8F,0xB2,0xB5,0x1D,0xCD,0x1F
; Overrides the standard StreamConfig property page with custom one
; {134E2292-6288-4d0a-A5BC-D496EAB9B1A0}
HKR,PageAliases,"{71F96467-78F3-11d0-A18C-00A0C9118956}",1,0x92,0x22,0x4E,0x13,0x88,0x62,0x0A,0x4D,0xA5,0xBC,0xD4,0x96,0xEA,0xB9,0xB1,0xA0
HKR,PinFactory\1\Interfaces\{5BB95400-52BB-11d2-BA41-00A0C90D2B05},,,

;------------------ Services ---------------------------------------------------

[CtlCam.NT.Services]
AddService =%szVideoServiceName%,0x00000002,CtlCam.ServiceInstall

[CtlCam.ServiceInstall]
DisplayName   =%szWDMDeviceDesc%
ServiceType   =1
StartType     =3
ErrorControl  =1
ServiceBinary =%12%\%szWDMDriver.NT%

;------------------ UpdateIni --------------------------------------------------

[CtlCam.UpdateIni]
System.ini,Drivers,,"MSVideo.%szVfwKey%=%szVfwDriver%"
System.ini,Drivers32,,"VIDC.I420=Msh263.drv"

;------------------ CopyFiles --------------------------------------------------

[CtlCam.CopyWDMDrivers]
P1050W9x.sys
P1050CmD.sys

[CtlCam.CopyWDMDrivers.NT]
P1050Wnt.sys

[CtlCam.CopyUserDrivers]
P1050Dex.ax
P1050Dsx.ax
P1050Dsx.crl
P1050Vex.dll
P1050Pin.dll
P1050Pin.crl
P1050Hwx.dll

[CtlCam.CopyVFWDrivers]
P1050Vfw.drv

[CtlCam.CopyVFWDrivers.NT]
P1050Vfw.dll

[CtlCam.CopySTIDrivers]
P1050Sti.dll
P1050St.ax

[CtlCam.CopyTWAINDrivers]
P1050Twn.ds
P1050Twn.crl
CtTwnUi.crl,,,0x20
CtTwnUi.dll,,,0x20
CtSkin.dll,,,0x20
CtSpea32.dll,,,0x20
CtRes32.dll,,,0x20

[CtlCam.CopyWinFiles]
P1050Vid.uns
P1050Cfg.exe
P1050Cfg.crl

; do not remove the common files below

[CtlCam.CopyInstallFiles]
CtDrvIns.exe,,,0x20
VfwUpd.exe,,,0x20

[CtlCam.CopyTWAINFiles]
Default.src
TwUnk_16.exe,,,0x20
TwUnk_32.exe,,,0x20
Twain.dll,,,0x20
Twain_32.dll,,,0x20
Twacker.ini

[CtlCam.CopySysFiles]
FpxLib.dll,,,0x20
JpegLib.dll,,,0x20
CtCamMgr.dll,,,0x20

[CtlCam.CopyWDMDrivers.SYS]
Stream.sys,,,0x20

[CtlCam.CopyCodec.SYS]
Msh263.drv,,,0x20

[CtlCam.CopyCoInstFile]

;------------------ Source Disks -----------------------------------------------

[SourceDisksNames]
1 =%szSourceDisksNameDesc%,,,

[SourceDisksFiles]
P1050W9x.sys =1,,
P1050CmD.sys =1,,
P1050Wnt.sys =1,,
P1050Dex.ax  =1,,
P1050Dsx.ax  =1,,
P1050Dsx.crl =1,,
P1050Vex.dll =1,,
P1050Pin.dll =1,,
P1050Pin.crl =1,,
CtCamMgr.dll =1,,
P1050Hwx.dll =1,,
P1050Vfw.drv =1,,
P1050Vfw.dll =1,,
P1050Sti.dll =1,,
P1050St.ax   =1,,
P1050Twn.ds  =1,,
P1050Twn.crl =1,,
P1050Vid.uns =1,,
P1050Cfg.exe =1,,
P1050Cfg.crl =1,,
Default.src  =1,,
CtTwnUi.crl  =1,,
CtTwnUi.dll  =1,,
CtSkin.dll   =1,,
CtSpea32.dll =1,,
CtRes32.dll  =1,,
TwUnk_16.exe =1,,
TwUnk_32.exe =1,,
Twain.dll    =1,,
Twain_32.dll =1,,
Twacker.ini  =1,,
FpxLib.dll   =1,,
JpegLib.dll  =1,,

; common
CtDrvIns.exe =1,,
VfwUpd.exe   =1,,

;------------------ Strings-----------------------------------------------------

[Strings]
;------------------------------------------
; ** do not change the following strings **
;------------------------------------------
MSRunOnce                ="SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce"
MSUninstall              ="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
MSMediaResMSVideo        ="SYSTEM\CurrentControlSet\Control\MediaResources\msvideo"
MSMMDriverDesc           ="SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers.desc"
MSMMDrivers              ="SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32"
MSKsCategoryCapture.GUID ="{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
MSProxyVCap.CLSID        ="{17CCA71B-ECD7-11D0-B908-00A0C9223196}"

;---------------------------------------
; ** following strings rarely changed **
;---------------------------------------
szProvider          ="Creative Labs"
szSTINewPictureDesc ="New Picture Captured"
szSTILaunchAppDesc  ="Open Application"

;------------------------------------------
; ** following strings change per device **
;------------------------------------------
; description
szModelno              ="PD1050"
USB.ID                 ="USB\VID_041E&PID_4011&MI_00"
szWDMDeviceDesc        ="Creative WebCam Pro eX (Video)"
szDeviceType           ="2"
szDeviceSubType        ="1"
szCapabilities         ="1"
szTwainDSDesc          ="Creative WebCam Pro eX (Video)"
szSTIAppName           ="PC-CAM Center"
CTConfigRegistry       ="Software\Creative Tech\Web Cameras\PD1050"
szVfwKey               ="PD1050"
szVfwDeviceDesc        ="Creative WebCam Pro eX (VFW)"
szStillImageDesc       ="Creative WebCam Pro eX Still Image Driver"
szDeviceSettingsDesc   ="PD1050 Device Settings Property Page"
szAdvancedSettingsDesc ="PD1050 Advanced Settings Property Page"
szVideoFormatDesc      ="PD1050 Video Format Property Page"
szCustomPropSetDesc    ="PD1050 Custom Property Set"
szDeviceSetupDesc      ="Creative WebCam Pro eX Setup"
szUninstall            ="Creative PD1050"
szUninstallDesc        ="Creative WebCam Pro eX Driver"
szVideoServiceName     ="P1050VID"
szSourceDisksNameDesc  ="Creative WebCam Pro eX Driver Disk"
Still_Sink_Instance    ="Software\CLASSES\CLSID\{083863F1-70DE-11D0-BD40-00A0C911CE86}\Instance\{80E57B00-7603-11D5-8F7D-0002E30B6383}"
szStillSinkDesc        ="PD1050 Still Image Sinker"

; GUIDs
STINewPicture.GUID     ="{62E255A1-5C0A-4C29-9ADA-A11368A46BF6}"
STILaunchApp.GUID      ="{D1FF3B20-C974-4B0D-A8B7-4EC1AED2E38E}"
STIDevice.GUID         ="{5111AA50-0756-406C-8B5B-BD0AF92F93A0}"
CLSID_Still_Sink       ="{80E57B00-7603-11D5-8F7D-0002E30B6383}"
DeviceSettings.GUID    ="{6ED7A897-C5F0-441a-B805-8FB2B51DCD1F}"
VideoFormat.GUID       ="{134E2292-6288-4d0a-A5BC-D496EAB9B1A0}"
CustomPropSet.GUID     ="{869E8C6F-0D84-420F-B44E-7BFBEE74D6CF}"

; filename
szWDMDriver            ="P1050W9x.sys"
szStillImageFile       ="P1050Sti.dll"
szVideoSourceFile      ="P1050Dex.ax"
szVideoFormatFile      ="P1050Dsx.ax"
szPluginFile           ="P1050Pin.dll"
szPluginResourceFile   ="P1050Pin.crl"
szVFWDriver            ="P1050Vfw.drv"
szVFWDriver.NT         ="P1050Vfw.dll"
szUninstallFile        ="P1050Vid.uns"
szVFWPropPageFile      ="P1050Vex.dll"
szWDMDriver.NT         ="P1050Wnt.sys"

;------------------------------------------
; ** following strings change frequently **
;------------------------------------------
szVersion =1.02.01.0102
