;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; SVCC.inf - Ricoh UVC driver for Sony Visual Communication Camera
;
; Copyright (c) 2009 Ricoh Co.,Ltd.  All rights reserved.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[Version]
Signature      = "$CHICAGO$"
Class          = Image
ClassGUID      = {6bdd1fc6-810f-11d0-bec7-08002be2092f}
Provider       = %Provider%
CatalogFile.NT = SVCC.cat
DriverVer      = 11/06/2009,1.0.233.0

[ControlFlags]
ExcludeFromSelect = *

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[SourceDisksNames]
1 = %Package%

[SourceDisksFiles.x86]
RCUVCMNPx32.sys = 1,,
RCUVCMNPx32.dll = 1,,
SVCCx32.ax  = 1,,

[SourceDisksFiles.amd64]
RCUVCMNPx64.sys = 1,,
RCUVCMNPx64.dll = 1,,
SVCCx32.ax  = 1,,
SVCCx64.ax  = 1,,

[DestinationDirs]
System32 = 11
System64 = 11
SysWoW32 = 10,SysWOW64
Drivers32 = 12
Drivers64 = 12

[System32]
%ExtensionDLL%,SVCCx32.ax

[System64]
%ExtensionDLL%,SVCCx64.ax

[SysWoW32]
%ExtensionDLL%,SVCCx32.ax

[Drivers32]
RCUVCMNP.sys,RCUVCMNPx32.sys

[Drivers64]
RCUVCMNP.sys,RCUVCMNPx64.sys

[CoInstaller32]
RCUVCMNP.dll,RCUVCMNPx32.dll,,0x00000004

[CoInstaller64]
RCUVCMNP.dll,RCUVCMNPx64.dll,,0x00000004

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[Manufacturer]
%Provider% = Ricoh,NTx86.5.1,NTamd64.5.1

[Ricoh.NTx86.5.1]
%RCUVCMNP.DeviceDesc% = RCUVCMNP.NTx86,  USB\Vid_05ca&Pid_18bd

[Ricoh.NTamd64.5.1]
%RCUVCMNP.DeviceDesc% = RCUVCMNP.NTamd64,USB\Vid_05ca&Pid_18bd

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[RCUVCMNP.NTx86]
Include       = ks.inf, kscaptur.inf
Needs         = KS.Registration, KSCAPTUR.Registration.NT
AddReg        = RCUVCMNP.AddReg, RCUVCMNP.Settings, RCUVCMNP.DriverSettings, RCUVCMNP.PropertySettings
CopyFiles     = Drivers32, System32
;WIA
SubClass      = %DeviceSubClass%
DeviceType    = %DeviceType%
DeviceSubType = %DeviceSubType%
Capabilities  = %DeviceCap%
DeviceData    = RCUVCMNP.DeviceData
ICMProfiles   = %ICM_sRGB%

[RCUVCMNP.NTx86.CoInstallers]
AddReg        = CoInstaller.AddReg
CopyFiles     = CoInstaller32

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[RCUVCMNP.NTamd64]
Include       = ks.inf, kscaptur.inf
Needs         = KS.Registration, KSCAPTUR.Registration.NT
AddReg        = RCUVCMNP.AddReg, RCUVCMNP.Settings, RCUVCMNP.DriverSettings, RCUVCMNP.PropertySettings
CopyFiles     = Drivers64, System64, SysWoW32
;WIA
SubClass      = %DeviceSubClass%
DeviceType    = %DeviceType%
DeviceSubType = %DeviceSubType%
Capabilities  = %DeviceCap%
DeviceData    = RCUVCMNP.DeviceData
ICMProfiles   = %ICM_sRGB%

[RCUVCMNP.NTamd64.CoInstallers]
AddReg        = CoInstaller.AddReg
CopyFiles     = CoInstaller64

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[CoInstaller.AddReg]
HKR,,CoInstallers32,0x10000,"RCUVCMNP.dll,CoInstProc"
; FriendlyName
HKR,,FriendlyName,0x10000,%RCUVCMNP.DeviceDesc%

[RCUVCMNP.DeviceData]
Server      = local
UI Class ID = %CLSID_UI%

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[RCUVCMNP.AddReg]
; WIA
HKR,,HardwareConfig,1,1
HKR,,USDClass,,%CLSID_WIA_VideoSnapshotUSD%

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[RCUVCMNP.Settings]
; Driver loader setting
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,RCUVCMNP.sys
HKR,,PageOutWhenUnopened,3,00
HKR,,PowerDownWhenUnopened,3,00

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[RCUVCMNP.DriverSettings]
; Environment variables
HKR, DriverSettings, EnvironmentVariables, %FLG_ADDREG_TYPE_MULTI_SZ%, SystemDrive=%24%
HKR, DriverSettings, EnvironmentVariables, %FLG_APDREG_TYPE_MULTI_SZ%, SystemRoot=%10%
HKR, DriverSettings, EnvironmentVariables, %FLG_APDREG_TYPE_MULTI_SZ%, ProgramFiles=%16422%

; SRB timeout [sec.]
; default value = 5 (0=disable)
;HKR, DriverSettings, SrbTimeout,               %FLG_ADDREG_TYPE_DWORD%, 5

; Selective Suspend [sec.]
; default value = 25 (0=disable)
HKR, DriverSettings, SelectiveSuspendTime,     %FLG_ADDREG_TYPE_DWORD%, 2

; Direction of camera device installation
; The angle is direction of the installation of the camera device seen from the user.
;	Front side : user <) -><- (] camera
;HKR, DriverSettings, DeviceDirection,          %FLG_ADDREG_TYPE_DWORD%, 0 ;   0[degree] default
;HKR, DriverSettings, DeviceDirection,          %FLG_ADDREG_TYPE_DWORD%, 1 ;  90[degree]
;HKR, DriverSettings, DeviceDirection,          %FLG_ADDREG_TYPE_DWORD%, 2 ; 180[degree]
;HKR, DriverSettings, DeviceDirection,          %FLG_ADDREG_TYPE_DWORD%, 3 ; 270[degree]
;	Back side  : user <) ->[) -> camera
;HKR, DriverSettings, DeviceDirection,          %FLG_ADDREG_TYPE_DWORD%, 4 ;   0[degree]
;HKR, DriverSettings, DeviceDirection,          %FLG_ADDREG_TYPE_DWORD%, 5 ;  90[degree]
;HKR, DriverSettings, DeviceDirection,          %FLG_ADDREG_TYPE_DWORD%, 6 ; 180[degree]
;HKR, DriverSettings, DeviceDirection,          %FLG_ADDREG_TYPE_DWORD%, 7 ; 270[degree]

; Limitation of still image capture method of UVC.
; default value = 2
;HKR, DriverSettings, StillCapMethodLimitation, %FLG_ADDREG_TYPE_DWORD%, 2

; Still capture method 2 timeout [sec.]
; default value = 15
;HKR, DriverSettings, StillCaptureTimeout,      %FLG_ADDREG_TYPE_DWORD%, 15

; When the frame is processed, this value is an image update interval
; default value = 4
; - Image direction is 90[deg] or 270[deg]
; - Digital zoom by driver
HKR, DriverSettings, FrameProcessDenominator,  %FLG_ADDREG_TYPE_DWORD%, 2

; When the image format convert from YUY2, this value is an image update interval
; default value = 0(not support image format convert from YUY2)
;HKR, DriverSettings, ConvertRGB24Denominator, %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, DriverSettings, ConvertI420Denominator,  %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, DriverSettings, ConvertIYUVDenominator,  %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, DriverSettings, ConvertUYVYDenominator,  %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, DriverSettings, ConvertYVYUDenominator,  %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, DriverSettings, ConvertYVU9Denominator,  %FLG_ADDREG_TYPE_DWORD%, 1

; Number of frames that drop when capture of movie is bigin.
; default value = 1
;HKR, DriverSettings, StartDropFrames_RGB24,    %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, DriverSettings, StartDropFrames_YUY2,     %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, DriverSettings, StartDropFrames_MJPG,     %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, DriverSettings, StartDropFrames_IYUV,     %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, DriverSettings, StartDropFrames_I420,     %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, DriverSettings, StartDropFrames_UYVY,     %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, DriverSettings, StartDropFrames_YVYU,     %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, DriverSettings, StartDropFrames_YVU9,     %FLG_ADDREG_TYPE_DWORD%, 1

; Set timing of property values of video capture starting
; 0 = none / 1 = before / 2 = after
HKR, DriverSettings, CapStartPropSetting,      %FLG_ADDREG_TYPE_DWORD%, 2

; Zoom type
; ZoomType[Width]x[Height] : Image size specific setting (for ExtensionUnit Type)
; ZoomFunc[Width]x[Height] : Image size specific setting (for CustomProp type)
; 0=Disable / 1=Enable
; default value = 1

; Roll type
; 0 = reduce / 1 = zoom / 2=same magnification
; default value = 0
;HKR, DriverSettings, RollType,                 %FLG_ADDREG_TYPE_DWORD%, 0
; Color of space when reduce or same magnification
; default value = 0
;HKR, DriverSettings, PaddingColor_Red,         %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, DriverSettings, PaddingColor_Green,       %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, DriverSettings, PaddingColor_Blue,        %FLG_ADDREG_TYPE_DWORD%, 0

; Frame data recieve setting
HKR, DriverSettings, FrameDataSizeOverLimit,   %FLG_ADDREG_TYPE_DWORD%, 1024
HKR, DriverSettings, DropUncompressSizeLess,   %FLG_ADDREG_TYPE_DWORD%, 1
HKR, DriverSettings, DropBrokenJPEG,           %FLG_ADDREG_TYPE_DWORD%, 1

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[RCUVCMNP.PropertySettings]
; Property control setting
; +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
; |ChgToManual|                               (reserved)                              |   Mode    |
; +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
;  31       28 27       24 23                   16 15                    8  7        4  3        0
;
; [ChgToManual] (ChgToManual is not referenced in this version)
; The manual setting value when the automatic setting is released is specified.
; (This setting is effective only to property with the automatic setting function.)
; 0=The value adjusted by the automatic setteing is used.
; 1=The value that had been set before the automatic setting is made effective is used.
; 2=The default value is used.
; (Set values from 3 to 15 is the same sa set value 0.)
;
; [Mode]
; The processing of the current value of property is set.
; 0=Disable
; 1=Use current value in device.
; 2=Use current value in registory.
; 3=When installing this package, the default values are set in current values.
;   (When diver starts, this value is changed to 1)
; 4=When installing this package, the default values are set in current values.
;   (When diver starts, change value to 2)
; 5=When diver starts, the default values are set in current values.
; 6=When the movie capture begins, the default values are set in current values.
; (Set values from 7 to 15 are the same sa set value 0.)
;
; default value = 0x00000001
HKR, PropertySettings, PropertyControl,          %FLG_ADDREG_TYPE_DWORD%, 0x00000002

; Properties settings
; (PropertyName)Ctl : Property control setting
;                     default value = PropertyControl
; (PropertyName)Min : Minimum value
;                     default value = in device value
; (PropertyName)Max : Maximum value
;                     default value = in device value
; (PropertyName)Res : Stepping delta
;                     default value = in device value
; (PropertyName)Def : Default setting value
;                     default value = in device value
; (PropertyName)    : Current setting value (for PropertyControl = 1)
;                     default value = in device value
HKR, PropertySettings, ColorEnableCtl,           %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, ExposureTimeCtl,          %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, AutoExposureCtl,          %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, GainCtl,                  %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, AutoGainCtl,              %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, AutoFlickerDetectionCtl,  %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, FlipCtl,                  %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, MirrorCtl,                %FLG_ADDREG_TYPE_DWORD%, 0

HKR, PropertySettings, PowerLineFrequencyMin,     %FLG_ADDREG_TYPE_DWORD%, 1

;HKR, PropertySettings, BrightnessDef,            %FLG_ADDREG_TYPE_DWORD%, 63
;HKR, PropertySettings, ContrastDef,              %FLG_ADDREG_TYPE_DWORD%, 63
;HKR, PropertySettings, SaturationDef,            %FLG_ADDREG_TYPE_DWORD%, 63
;HKR, PropertySettings, SharpnessDef,             %FLG_ADDREG_TYPE_DWORD%, 7
;HKR, PropertySettings, WhiteBalanceTempDef,      %FLG_ADDREG_TYPE_DWORD%, 5000
;HKR, PropertySettings, WhiteBalanceCompDef,      %FLG_ADDREG_TYPE_DWORD%, 127
;HKR, PropertySettings, AutoWhiteBalanceDef,      %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, PropertySettings, HueDef,                   %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, AutoHueCtl,               %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, GammaDef,                 %FLG_ADDREG_TYPE_DWORD%, 100
;HKR, PropertySettings, ColorEnableDef,           %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, PropertySettings, ExposureTimeDef,          %FLG_ADDREG_TYPE_DWORD%, 333
;HKR, PropertySettings, AutoExposureDef,          %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, PropertySettings, GainDef,                  %FLG_ADDREG_TYPE_DWORD%, 63
;HKR, PropertySettings, AutoGainDef,              %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, PropertySettings, Focus,                    %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, AutoFocus,                %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, PowerLineFrequencyDef,    %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, PropertySettings, AutoFlickerDetectionDef,  %FLG_ADDREG_TYPE_DWORD%, 1
;HKR, PropertySettings, BacklightCompensationDef, %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, ZoomDef,                  %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, PanDef,                   %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, TiltDef,                  %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, FlipDef,                  %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, MirrorDef,                %FLG_ADDREG_TYPE_DWORD%, 0
;HKR, PropertySettings, PrivacyDef,               %FLG_ADDREG_TYPE_DWORD%, 0
HKR, PropertySettings, AutoExposurePriorityDef,  %FLG_ADDREG_TYPE_DWORD%, 1

; WhiteBalanceComponent type
; 0=Red+Blue(ProcessingUnit is used by priority) / 1=Red+Green+Blue(ExtensionUnit)
; default value = 0
HKR, PropertySettings, WhiteBalanceCompType,     %FLG_ADDREG_TYPE_DWORD%, 1

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[RCUVCMNP.NTx86.Interfaces]
AddInterface = %KSCATEGORY_CAPTURE%,GLOBAL,RCUVCMNP.Interface
AddInterface = %KSCATEGORY_VIDEO%,GLOBAL,RCUVCMNP.Interface

[RCUVCMNP.NTamd64.Interfaces]
AddInterface = %KSCATEGORY_CAPTURE%,GLOBAL,RCUVCMNP.Interface
AddInterface = %KSCATEGORY_VIDEO%,GLOBAL,RCUVCMNP.Interface

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[RCUVCMNP.Interface]
DelReg = RCUVCMNP.Interface.AddReg
AddReg = RCUVCMNP.Interface.AddReg

[RCUVCMNP.Interface.AddReg]
HKR,,CLSID,,%CLSID_ProxyVCap%
HKR,,FriendlyName,,%RCUVCMNP.DeviceDesc%
HKR,,ExtensionDLL,,%ExtensionDLL%
;WDM StillStreamConfig interface handler
HKR,PinFactory\1\Interfaces\{5BB95400-52BB-11d2-BA41-00A0C90D2B05},,,

[RCUVCMNP.NTx86.Services]
AddService = RCUVCMNP, %SPSVCINST_ASSOCSERVICE%, RCUVCMNP.ServiceInstall

[RCUVCMNP.NTamd64.Services]
AddService = RCUVCMNP, %SPSVCINST_ASSOCSERVICE%, RCUVCMNP.ServiceInstall

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[Strings]
; (Non-localizable)
ExtensionDLL               = "SVCC.ax"
CLSID_UI                   = "{5d8ef5a3-ac13-11d2-a093-00c04f72dc3c}"
CLSID_ProxyVCap            = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
KSCATEGORY_RENDER          = "{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_CAPTURE         = "{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_VIDEO           = "{6994AD05-93EF-11D0-A3CC-00A0C9223196}"
DeviceSubClass             = "StillImage"
DeviceType                 = 3
DeviceSubType              = 0x1
DeviceCap                  = 0x00000031
ICM_sRGB                   = "sRGB Color Space Profile.icm"
CLSID_WIA_VideoSnapshotUSD = "{0527d1d0-88c2-11d2-82c7-00c04f8ec183}"
FLG_ADDREG_TYPE_SZ         = 0x00000000
FLG_ADDREG_TYPE_BINARY     = 0x00000001
FLG_ADDREG_TYPE_MULTI_SZ   = 0x00010000
FLG_APDREG_TYPE_MULTI_SZ   = 0x00010008
FLG_ADDREG_TYPE_EXPAND_SZ  = 0x00020000
FLG_ADDREG_TYPE_DWORD      = 0x00010001
SPSVCINST_ASSOCSERVICE     = 0x00000002
SERVICE_KERNEL_DRIVER      = 1
SERVICE_DEMAND_START       = 3
SERVICE_ERROR_NORMAL       = 1
; (Localizable)
Provider                   = "Ricoh"
Package                    = "Ricoh UVC Driver Installation Package"
RCUVCMNP.DeviceDesc        = "Sony Visual Communication Camera"
RCUVCMNP.SvcInstName       = "Sony Visual Communication Camera"
