;/*++
;
;Copyright (c) Microsoft Corporation. All rights Reserved.
;
;Module Name:
;
;    EhStorPwdDrv.inf
;
;Abstract:
;
;    INF file for Enhanced Storage Password Silo devices.
;
;--*/

[Version]
Signature   = "$Windows NT$"
Class       = EhStorSilo
ClassGuid   = {9DA2B80F-F89F-4A49-A5C2-511B085B9E8A}
Provider    = %MSFT%
DriverVer = 06/21/2006,10.0.22621.1

[ControlFlags]
BasicDriverOk=*

[DestinationDirs]
System32Copy=12,UMDF ; copy to system32\drivers\umdf

; =================================== Source files =====================================

[SourceDisksNames]
1 = %DiskId%,,,""

[SourceDisksFiles]
EhStorPwdDrv.dll = 1,,

; ========================= Password silo device installation =========================

[Manufacturer]
%MSFT% = Microsoft,NTamd64

[Microsoft.NTamd64]
%DeviceName% = Basic_Install,IEEE1667Silo_102

[Basic_Install]
CopyFiles = System32Copy

[Basic_Install.hw]
AddReg = Device_AddReg

[Basic_Install.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall

[Device_AddReg]
; Relax the security descriptor of the silo by giving read-write access to everybody.
HKR,,Security,,"D:P(A;;GA;;;SY)(A;;GRGWGX;;;BA)(A;;GRGWGX;;;WD)(A;;GRGX;;;RC)"

; Set WPD device type to "generic"
HKR,,"PortableDeviceType",0x10001,0
; Disable appearance in shell extension
HKR,,"PortableDeviceIsMassStorage",0x10001,1

; Define silo actions
HKR,,"SiloAuthenticationAction",0x00020000,"%%SystemRoot%%\System32\EhStorAuthn.exe PasswdAuthenticate %%SiloDevicePath%%"
HKR,,"SiloAuthenticationOnResumeAction",0x00020000,"%%SystemRoot%%\System32\EhStorAuthn.exe PasswdAuthenticate %%SiloDevicePath%% /NoUI"
HKR,,"SiloAuthenticationOnSessionUnlockAction",0x00020000,"%%SystemRoot%%\System32\EhStorAuthn.exe PasswdAuthenticate %%SiloDevicePath%% /NoUI"
HKR,,"SiloUnauthenticationAction",0x00020000,"%%SystemRoot%%\System32\EhStorAuthn.exe PasswdUnauthenticate %%SiloDevicePath%%"
HKR,,"SiloUnauthenticationOnSuspendAction",0x00020000,"%%SystemRoot%%\System32\EhStorAuthn.exe PasswdUnauthenticate %%SiloDevicePath%% /Temporary"
HKR,,"SiloUnauthenticationOnSessionLockAction",0x00020000,"%%SystemRoot%%\System32\EhStorAuthn.exe PasswdUnauthenticate %%SiloDevicePath%% /Temporary /Freeze"
HKR,,"SiloCustomActions",0x00010000,"Set password","Set or change password for the device.","%%SystemRoot%%\System32\rundll32.exe %%SystemRoot%%\System32\EhStorPwdMgr.dll,EnhancedStoragePasswordConfig %%SiloDevicePath%%"

[WUDFRD_ServiceInstall]
ServiceType     = 1                  ; SERVICE_KERNEL_DRIVER
StartType       = 3                  ; SERVICE_DEMAND_START
ErrorControl    = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary   = %12%\WUDFRd.sys

[System32Copy]
EhStorPwdDrv.dll,,,0x0100

; ================================= UMDF co-installer ==================================

[Basic_Install.CoInstallers]
AddReg = Basic_Install.CoInstallers_AddReg

[Basic_Install.CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WUDFCoInstaller.dll"

[Basic_Install.Wdf]
UmdfService             = EnhancedStoragePassword, EnhancedStoragePassword_Install
UmdfServiceOrder        = EnhancedStoragePassword
UmdfImpersonationLevel  = Impersonation

[EnhancedStoragePassword_Install]
UmdfLibraryVersion  = 1.11.0
DriverCLSID         = "{D043906A-C655-46ec-A554-967F47633008}"
ServiceBinary       = %12%\UMDF\EhStorPwdDrv.dll

; ===================================== Strings ========================================

[Strings]
; localizable strings
MSFT            = "Microsoft"
DiskId          = "Windows installation disc"
ClassName       = "IEEE 1667 silo and control devices"
DeviceName      = "Microsoft supported IEEE 1667 password silo"
