;/++
;
;Copyright (c) 2008 - Oxford Semiconductor Inc.  All rights reserved.
;
;Abstract:
;    Parallel Port driver installation file.
;
;--*/


[Version]
Signature                   = "$Windows NT$"
Class                       = Ports
ClassGuid                   = {4D36E978-E325-11CE-BFC1-08002BE10318}
Provider                    = %Oxsemi%
;#OxData#CatalogFile                 = [[PPortFileName]].cat
CatalogFile                 = OxPPort.cat
;#OxEndData
;#OxData#DriverVer                   = [[Date]],[[Version]]
DriverVer                   = 07/31/2008,7.00.0000.08
;#OxEndData


[DestinationDirs]
DestinationDirs_SystemDir   = 11   ; %windir%\system32
DestinationDirs_DriversDir  = 12   ; %windir%\system32\drivers

[SourceDisksNames]
0=%Desc_0%

[SourceDisksFiles]
;#OxData#[[PPortFileName]].dll                 = 0
OxPPort.dll                 = 0
;#OxEndData
;#OxData#[[PPortFileName]].sys                 = 0
OxPPort.sys                 = 0
;#OxEndData


[ControlFlags]
ExcludeFromSelect           = *


[Manufacturer]
%Oxsemi%                    = Oxsemi,ntx86


; For Win2K
[Oxsemi]
;#OxData#%PCIPPortDesc%              = PPortInstSect2k, PCI\VEN_[[LegacyVendorId]]&DEV_[[LegacyDeviceId]]
%PCIPPortDesc%              = PPortInstSect2k, PCI\VEN_1415&DEV_8403
%PCIPPortDesc%              = PPortInstSect2k, PCI\VEN_1415&DEV_9523
%PCIPPortDesc%              = PPortInstSect2k, PCI\VEN_1415&DEV_9513
;#OxEndData

; For XP and later
[Oxsemi.ntx86]
;#OxData#%PCIPPortDesc%              = PPortInstSect, PCI\VEN_[[LegacyVendorId]]&DEV_[[LegacyDeviceId]]
%PCIPPortDesc%              = PPortInstSect, PCI\VEN_1415&DEV_8403
%PCIPPortDesc%              = PPortInstSect, PCI\VEN_1415&DEV_9523
%PCIPPortDesc%              = PPortInstSect, PCI\VEN_1415&DEV_9513
;#OxEndData

[PPortInstSect2k]
CopyFiles                   = DestinationDirs_SystemDir, DestinationDirs_DriversDir
AddReg                      = PPortInstSect.AddReg
;#OxData#CopyINF                     = [[PPortFileName]]2k.inf
CopyINF                     = OxPPort2k.inf
;#OxEndData

[PPortInstSect]
CopyFiles                   = DestinationDirs_SystemDir, DestinationDirs_DriversDir
AddReg                      = PPortInstSect.AddReg

[DestinationDirs_SystemDir]
;#OxData#[[PPortFileName]].dll
OxPPort.dll
;#OxEndData

[DestinationDirs_DriversDir]
;#OxData#[[PPortFileName]].sys
OxPPort.sys
;#OxEndData

[PPortInstSect.AddReg]
HKR,,PortSubClass,%REG_BINARY%,00
HKR,,ECPDevice,%REG_BINARY%,01
;#OxData#HKR,,EnumPropPages32,,"[[PPortFileName]].dll,ParallelPortPropPageProvider"
HKR,,EnumPropPages32,,"OxPPort.dll,ParallelPortPropPageProvider"
;#OxEndData


[PPortInstSect2k.HW]
AddReg                      = PPortInstSect_HW.AddReg

[PPortInstSect.HW]
AddReg                      = PPortInstSect_HW.AddReg

[PPortInstSect_HW.AddReg]
;#OxCondition#UseStandardAddress#True
HKR,,UseStandardAddresses,%REG_DWORD%,1
;#OxEndCondition
;#OxData#HKR,,UnsupportedModes,%REG_DWORD%,[[UnsupportedModes]]
HKR,,UnsupportedModes,%REG_DWORD%,0x00000000
;#OxEndData


[PPortInstSect2k.Services]
;#OxData#AddService                  = [[PPortFileName]],%SPSVCINST_ASSOCSERVICE%,PPortInstSect.Services_AddService,EventLog_AddService
AddService                  = OxPPort,%SPSVCINST_ASSOCSERVICE%,PPortInstSect.Services_AddService,EventLog_AddService
;#OxEndData

[PPortInstSect.Services]
;#OxData#AddService                  = [[PPortFileName]],%SPSVCINST_ASSOCSERVICE%,PPortInstSect.Services_AddService,EventLog_AddService
AddService                  = OxPPort,%SPSVCINST_ASSOCSERVICE%,PPortInstSect.Services_AddService,EventLog_AddService
;#OxEndData

[PPortInstSect.Services_AddService]
ServiceType                 = %SERVICE_KERNEL_DRIVER%
StartType                   = %SERVICE_SYSTEM_START%
ErrorControl                = %SERVICE_ERROR_IGNORE%
;#OxData#ServiceBinary               = %12%\[[PPortFileName]].sys
ServiceBinary               = %12%\OxPPort.sys
;#OxEndData
LoadOrderGroup              = Parallel arbitrator


[EventLog_AddService]
AddReg                      = EventLog_AddService_AddReg

[EventLog_AddService_AddReg]
;#OxData#HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\[[PPortFileName]].sys"
HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\OxPPort.sys"
;#OxEndData
HKR,,TypesSupported,%REG_DWORD%,7


[DestinationDirs]
CoInstaller_CopyFiles       = 11    ; %windir%\system32

[SourceDisksFiles]
;#OxData#[[PPortFileName]].dll                 = 0
OxPPort.dll                 = 0
;#OxEndData

[PPortInstSect2k.CoInstallers]
AddReg                      = CoInstaller_AddReg
CopyFiles                   = CoInstaller_CopyFiles

[PPortInstSect.CoInstallers]
AddReg                      = CoInstaller_AddReg
CopyFiles                   = CoInstaller_CopyFiles

[CoInstaller_CopyFiles]
;#OxData#[[PPortFileName]].dll
OxPPort.dll
;#OxEndData

[CoInstaller_AddReg]
; Add Parallel Port device coinstallers
;#OxData#HKR,,CoInstallers32,%REG_MULTI_SZ%,"[[PPortFileName]].dll,ParallelPortDeviceCoInstaller"
HKR,,CoInstallers32,%REG_MULTI_SZ%,"OxPPort.dll,ParallelPortDeviceCoInstaller"
;#OxEndData



[Strings]
;
; *******   Localizable Strings   *******
;#OxData#Oxsemi                      = "[[Manufacturer]]"
Oxsemi                      = "Oxford Semiconductor Inc"
;#OxEndData
;#OxData#PCIPPortDesc                = "[[DeviceDescription]]"
PCIPPortDesc                = "PCI Parallel Port"
;#OxEndData
;#OxData#Desc_0                      = "[[DriverDescription]]"
Desc_0                      = "Oxford Semiconductor Parallel Port Driver"
;#OxEndData


; ******* Non Localizable Strings *******
SERVICE_BOOT_START          = 0x0
SERVICE_SYSTEM_START        = 0x1
SERVICE_AUTO_START          = 0x2
SERVICE_DEMAND_START        = 0x3
SERVICE_DISABLED            = 0x4

SERVICE_KERNEL_DRIVER       = 0x1

SERVICE_ERROR_IGNORE        = 0x0
SERVICE_ERROR_NORMAL        = 0x1
SERVICE_ERROR_SEVERE        = 0x2
SERVICE_ERROR_CRITICAL      = 0x3

SPSVCINST_ASSOCSERVICE      = 0x2

REG_SZ                      = 0x00000000
REG_BINARY                  = 0x00000001
REG_KEYONLY                 = 0x00000010
REG_MULTI_SZ                = 0x00010000
REG_EXPAND_SZ               = 0x00020000
REG_DWORD                   = 0x00010001


;#OxComment#-------------------------------------------------------------------------------
;#OxComment#                  OXide definitions. Do not modify
;#OxComment#-------------------------------------------------------------------------------

;#OxGlobalSection#Manufacturer information
    ;#OxGroup#Manufacturer name
        ;#OxDefine#Manufacturer#Name #String[32]
    ;#OxEndGroup
;#OxEndSection

;#OxGlobalSection#Parallel Port Details
    ;#OxGroup#Driver version information
        ;#OxDefine#Version#Driver Version#String[12]
        ;#OxDefine#Date#Date#Date
    ;#OxEndGroup
    ;#OxGroup#Description
        ;#OxDefine#DeviceDescription#Device Description#String[48]
        ;#OxDefine#DriverDescription#Driver Description  #String[48]
    ;#OxEndGroup
;#OxEndSection

;#OxGlobalSection#Parallel Port File Names#The file names should not be left with their default Oxford Semiconductor names
    ;#OxGroup#
        ;#OxDefine#PPortFileName#Parallel Port driver name #FileName[32,false,oxpport]
    ;#OxEndGroup
;#OxEndSection

;#OxGlobalSection#Supported Parallel Port Devices
    ;#OxGroup#General Settings
        ;#OxDefine#UnsupportedModes#Unsupported Modes#List[{0x00000000|All modes supported},{0x000007E0|ECP and EPP not supported},{0x00000780|ECP not supported},{0x00000060|EPP not supported}]#
        ;#OxDefine#UseStandardAddress#Try to Use Standard Addresses#Flag
    ;#OxEndGroup
    ;#OxMultiGroup#Supported Vendor and Device IDs
        ;#OxDefine#LegacyVendorId#Vendor Id#VendorId
        ;#OxDefine#LegacyDeviceId#Device Id#PCIDeviceId
    ;#OxEndGroup
;#OxEndSection
