;-------------------------------------------------------------------------------
; PD100Vid.INF -- Creative WebCam Model Number PD1000 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 =PD100Vid.cat
DriverVer   =06/14/2002,%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_400C&MI_00

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

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

[CtlCam]
DriverVer     =06/14/2002,%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
DelReg        =CtlCam.StrmFmt.DelReg
AddReg        =CtlCam.AddReg,CtlCam.Cm.AddReg,CtlCam.STI.Cm.AddReg,CtlCam.DS.Cm.AddReg,CtlCam.Ins.Cm.AddReg,CtlCam.Dev.AddReg,CtlCam.Dev.Cm.AddReg,CtlCam.VFW.AddReg,CtlCam.Uns.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.Ins.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"

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

[CtlCam.StiDeviceData]
TwainDS =%szTwainDSDesc%

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

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

[CtlCam.StrmFmt.DelReg]
;;HKLM,%MSMediaCategories%\%MSVideoCapturePin.GUID%\PropertyPages\%MSDefStreamConfig.GUID%

[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"

[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%\PD100St.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%
HKLM,System\CurrentControlSet\Control\MediaInterfaces\%CustomPropSet.GUID%,IID,1,C0,65,38,F8,C3,92,D3,11,0xB4,0x1E,0x00,0x10,0xDC,0x97,0x3B,0xDB

;---------------------------------------
; ** 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\%AdvancedSettings.GUID%,,,%szAdvancedSettingsDesc%
HKCR,CLSID\%AdvancedSettings.GUID%\InprocServer32,,,%szVideoSourceFile%
HKCR,CLSID\%AdvancedSettings.GUID%\InprocServer32,ThreadingModel,,"Both"

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

;-----------------------------------------------------------
; ** Associate custom property set with the property page **
;-----------------------------------------------------------
HKLM,%MSMediaSets%\%CustomPropSet.GUID%,,,%szCustomPropSetDesc%
HKLM,%MSMediaSets%\%CustomPropSet.GUID%\PropertyPages\%DeviceSettings.GUID%,,,%szDeviceSettingsDesc%
HKLM,%MSMediaSets%\%CustomPropSet.GUID%\PropertyPages\%AdvancedSettings.GUID%,,,%szAdvancedSettingsDesc%

;;HKLM,%MSMediaCategories%\%MSVideoCapturePin.GUID%\PropertyPages\%VideoFormat.GUID%,,,%szVideoFormatDesc%
;;HKLM,%MSMediaCategories%\%MSVideoCapturePin.GUID%\PropertyPages\%MSDefStreamConfig.GUID%,,,%szMSDefStreamConfigDesc%

[CtlCam.Ins.Cm.AddReg]
HKLM,%MSRunOnce%,%szDeviceSetupDesc%,,"RunDLL32.exe %szPluginFile%,RunDLL32EP 515"
HKLM,%MSUninstall%\%szUninstall%,"DisplayName",0,%szUninstallDesc%
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%

HKR,PageAliases,"{71F96464-78F3-11d0-A18C-00A0C9118956}",1,21,E8,C2,3D,13,47,D2,11,0xBA,0x41,0x0,0xA0,0xC9,0xD,0x2B,0x5
HKR,PinFactory\1\Interfaces\{5BB95400-52BB-11d2-BA41-00A0C90D2B05},,,

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

[CtlCam.NT.Services]
DelService =%szOldVideoServiceName%
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]
PD100Vid.sys,PD100Vid.9x
CamUsP20.sys

[CtlCam.CopyWDMDrivers.NT]
PD100Vid.sys,PD100Vid.nt

[CtlCam.CopyUserDrivers]
PD100Ex.ax
PD100Ex.dll
PD100Pin.dll
PD100Pin.crl

[CtlCam.CopyVFWDrivers]
PD100Vfw.drv

[CtlCam.CopyVFWDrivers.NT]
PD100Vfw.dll

[CtlCam.CopySTIDrivers]
CamUsd.dll
PD100St.ax

[CtlCam.CopyTWAINDrivers]
PD100Twn.ds
PD100Twn.crl
CtTwnUi.crl
CtTwnUi.dll
CtSkin.dll
CtSpea32.dll
CtRes32.dll

[CtlCam.CopyWinFiles]
PD100Vid.uns
PD100Cfg.exe
PD100Cfg.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

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

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

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

[SourceDisksNames]
1 =%szSourceDisksNameDesc%,,,

[SourceDisksFiles]
PD100Vid.9x  =1,,
CamUsP20.sys =1,,
PD100Vid.nt  =1,,
PD100Ex.ax   =1,,
PD100Dsx.ax  =1,,
PD100Ex.dll  =1,,
PD100Pin.dll =1,,
PD100Pin.crl =1,,
PD100Vfw.drv =1,,
PD100Vfw.dll =1,,
CamUsd.dll   =1,,
PD100St.ax   =1,,
PD100Twn.ds  =1,,
PD100Twn.crl =1,,
PD100Vid.uns =1,,
PD100Cfg.exe =1,,
PD100Cfg.crl =1,,
CtDrvIns.exe =1,,
VfwUpd.exe   =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,,

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

[Strings]
;------------------------------------------
; ** do not change the following strings **
;------------------------------------------
MSMediaSets              ="SYSTEM\CurrentControlSet\Control\MediaSets"
MSMediaCategories        ="System\CurrentControlSet\Control\MediaCategories"
MSVideoCapturePin.GUID   ="{FB6C4281-0353-11D1-905F-0000C0CC16BA}"
MSDefStreamConfig.GUID   ="{71F96467-78F3-11D0-A18C-00A0C9118956}"
MSRunOnce                ="SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce"
szMSDefStreamConfigDesc  ="StreamFormat Property Page"
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              ="PD1000"
USB.ID                 ="USB\VID_041E&PID_400C&MI_00"
szWDMDeviceDesc        ="Video Blaster WebCam 5 (WDM)"
szDeviceType           ="2"
szDeviceSubType        ="1"
szCapabilities         ="1"
szTwainDSDesc          ="Video Blaster WebCam 5 (WDM)"
szSTIAppName           ="WebCam Control"
CTConfigRegistry       ="Software\Creative Tech\Web Cameras\PD1000"
szVfwKey               ="PD1000"
szVfwDeviceDesc        ="Video Blaster WebCam 5 (VFW)"
szStillImageDesc       ="Creative Video Blaster WebCam 5 Still Image Driver"
szDeviceSettingsDesc   ="PD1000 Device Settings Property Page"
szAdvancedSettingsDesc ="PD1000 Advanced Settings Property Page"
szVideoFormatDesc      ="PD1000 Video Format Property Page"
szCustomPropSetDesc    ="PD1000 Custom Property Set"
szDeviceSetupDesc      ="Creative Video Blaster WebCam 5 Setup"
szUninstall            ="Creative Video Blaster WebCam 5"
szUninstallDesc        ="Creative Video Blaster WebCam 5 Driver"
szVideoServiceName     ="PD100VID"
szSourceDisksNameDesc  ="Creative Video Blaster WebCam 5 Driver Disk"
Still_Sink_Instance    ="Software\CLASSES\CLSID\{083863F1-70DE-11D0-BD40-00A0C911CE86}\Instance\{4DCEE6F6-4D3C-443D-B5B1-B4196FB002E5}"
szStillSinkDesc        ="Still Image Sinker"
szOldVideoServiceName  ="PID_400C"

; GUIDs
STINewPicture.GUID     ="{C9E1C660-989A-11D5-98C5-0010DC2F52BC}"
STILaunchApp.GUID      ="{79C2DCE0-926A-11D5-8F7D-0002E30B6383}"
STIDevice.GUID         ="{DCABE420-9335-11D5-8F7D-0002E30B6383}"
CLSID_Still_Sink       ="{4DCEE6F6-4D3C-443D-B5B1-B4196FB002E5}"
DeviceSettings.GUID    ="{F83865C2-92C3-11D3-B41E-0010DC973BDB}"
AdvancedSettings.GUID  ="{F83865C3-92C3-11D3-B41E-0010DC973BDB}"
CustomPropSet.GUID     ="{F83865C0-92C3-11D3-B41E-0010DC973BDB}"

; filename
szWDMDriver            ="PD100Vid.sys"
szStillImageFile       ="CamUsd.dll"
szVideoSourceFile      ="PD100Ex.ax"
szVideoFormatFile      ="PD100Ex.ax"
szPluginFile           ="PD100Pin.dll"
szPluginResourceFile   ="PD100Pin.crl"
szVFWDriver            ="PD100Vfw.drv"
szVFWDriver.NT         ="PD100Vfw.dll"
szUninstallFile        ="PD100Vid.uns"
szVFWPropPageFile      ="PD100Ex.dll"
szWDMDriver.NT         ="PD100Vid.sys"

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