;/++
;
;Copyright (c) Oxford Semiconductor Inc.  All rights reserved.
;
;Abstract:
;    PCI Express MF WDF driver installation file.
;
;--*/


[Version]
Signature                   = "$Windows NT$"
Class                       = MultiportSerial
ClassGuid                   = {50906cb8-ba12-11d1-bf5d-0000f805f530}
Provider                    = %Oxsemi%
;#OxData#CatalogFile                 = [[MfFileName]].cat
CatalogFile                 = OxPCIeMf.cat
;#OxEndData
;#OxData#DriverVer                   = [[UartDate]],[[UartVersion]]
DriverVer                   = 09/24/2009,1.03.0000.02
;#OxEndData

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

[SourceDisksNames]
0=%Desc_0%



[ControlFlags]
ExcludeFromSelect           = *


[SourceDisksFiles]
;#OxData#[[MfFileName]].sys                = 0
OxPCIeMf.sys                = 0
;#OxEndData
;#OxData#[[UartFileName]].sys               = 0
OxPCIeSer.sys               = 0
;#OxEndData
;#OxData#[[UartUiFileName]].dll                = 0
OxPCIeUi.dll                = 0
;#OxEndData
;#OxData#[[UartFileName]].oxbe              = 0
OxPCIeSer.oxbe              = 0
;#OxEndData
;#OxData#[[UartFileName]].png               = 0
OxPCIeSer.png               = 0
;#OxEndData



[Manufacturer]
%Oxsemi%                    = Oxsemi,ntAMD64


; For Win2K
[Oxsemi]
;#OxData#%MfDesc%                   = MfInstSect,PCI\VEN_[[MfVendorId]]&DEV_[[MfDeviceId]]
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c11b
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c11f
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c138
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c13d
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c158
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c15d
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c208
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c20d
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c308
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c30d
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c43b
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c43f
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c44b
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c44f
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c46b
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c46f
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c47b
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c47f
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c4ab
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c4af
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c4bb
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c4bf
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c4cb
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c4cf
;#OxEndData

; For XP and later
[Oxsemi.ntAMD64]
;#OxData#%MfDesc%                   = MfInstSect,PCI\VEN_[[MfVendorId]]&DEV_[[MfDeviceId]]
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c11b
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c11f
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c138
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c13d
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c158
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c15d
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c208
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c20d
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c308
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c30d
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c43b
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c43f
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c44b
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c44f
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c46b
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c46f
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c47b
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c47f
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c4ab
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c4af
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c4bb
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c4bf
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c4cb
%MfDesc%                   = MfInstSect,PCI\VEN_1415&DEV_c4cf
;#OxEndData

[MfInstSect]
;#OxData#CopyINF                     = [[UartFileName]].inf
CopyINF                     = OxPCIeSer.inf
;#OxEndData
CopyFiles                   = DestinationDirs_SystemDir,DestinationDirs_DriversDir
AddReg                      = MfInstSect_AddReg

[DestinationDirs_SystemDir]
;#OxData#[[UartUiFileName]].dll
OxPCIeUi.dll
;#OxEndData
;#OxData#[[UartFileName]].oxbe
OxPCIeSer.oxbe
;#OxEndData
;#OxData#[[UartFileName]].png
OxPCIeSer.png
;#OxEndData

[DestinationDirs_DriversDir]
;#OxData#[[MfFileName]].sys
OxPCIeMf.sys
;#OxEndData
;#OxData#[[UartFileName]].sys
OxPCIeSer.sys
;#OxEndData


[MfInstSect_AddReg]
;#OxData#HKR,,PluginName,%REG_MULTI_SZ%,"[[UartFileName]].oxbe"
HKR,,PluginName,%REG_MULTI_SZ%,"OxPCIeSer.oxbe"
;#OxEndData

[MfInstSect.HW]
AddReg                      = MfInstSect.HW_AddReg


[MfInstSect.Services]
;#OxData#AddService                  = [[MfFileName]],%SPSVCINST_ASSOCSERVICE%,MfInstSect.Services_AddService,EventLog_AddService
AddService                  = OxPCIeMf,%SPSVCINST_ASSOCSERVICE%,MfInstSect.Services_AddService,EventLog_AddService
;#OxEndData

[MfInstSect.HW_AddReg]
; Support MSI
HKR,"Interrupt Management",%REG_KEYONLY%
HKR,"Interrupt Management\MessageSignaledInterruptProperties",%REG_KEYONLY%
HKR,"Interrupt Management\MessageSignaledInterruptProperties",MSISupported,%REG_DWORD%,1

[MfInstSect.Services_AddService]
ServiceType                 = %SERVICE_KERNEL_DRIVER%
StartType                   = %SERVICE_DEMAND_START%
ErrorControl                = %SERVICE_ERROR_NORMAL%
;#OxData#ServiceBinary               = %12%\[[MfFileName]].sys
ServiceBinary               = %12%\OxPCIeMf.sys
;#OxEndData
LoadOrderGroup              = Extended base


[EventLog_AddService]
AddReg                      = EventLog_AddService_AddReg

[EventLog_AddService_AddReg]
HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll"
HKR,,TypesSupported,%REG_DWORD%,7



;-------------------------------------------------------------------------
; Coinstaller installation
;-------------------------------------------------------------------------
[DestinationDirs]
CoInstaller_CopyFiles       = 11    ; %windir%\system32


[SourceDisksFiles]
; make sure the number matches with SourceDisksNames
WdfCoinstaller01007.dll     = 0


[MfInstSect.CoInstallers]
AddReg                      = CoInstaller_AddReg
CopyFiles                   = CoInstaller_CopyFiles


[MfInstSect.Wdf]
;#OxData#KmdfService                 = [[MfFileName]],MfInstSect.Wdf_KmdfService
KmdfService                 = OxPCIeMf,MfInstSect.Wdf_KmdfService
;#OxEndData


[CoInstaller_CopyFiles]
WdfCoinstaller01007.dll

[CoInstaller_AddReg]
; Add WDF class coinstaller
HKR,,CoInstallers32,%REG_MULTI_SZ%,"WdfCoinstaller01007.dll,WdfCoInstaller"

[MfInstSect.Wdf_KmdfService]
KmdfLibraryVersion          = 1.7



[Strings]
;
; *******   Localizable Strings   *******
;#OxData#Oxsemi                      = "[[Manufacturer]]"
Oxsemi                      = "Oxford Semiconductor Inc"
;#OxEndData
;#OxData#MfDesc                      = "[[MfDeviceDescription]]"
MfDesc                      = "PCI Express Multiport Serial Adapter"
;#OxEndData
;#OxData#Desc_0                      = "[[MfDriverDescription]]"
Desc_0                      = "Oxford Semiconductor Multiport UART 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#UART Driver Version
    ;#OxGroup#Driver version information
        ;#OxDefine#UartVersion#Driver Version#String[12]
        ;#OxDefine#UartDate#Date#Date
    ;#OxEndGroup
;#OxEndSection


;#OxGlobalSection#Device and Driver Descriptions
    ;#OxGroup#Multiport Descriptions
        ;#OxDefine#MfDeviceDescription#Multiport Device#String[48]
        ;#OxDefine#MfDriverDescription#Multiport Driver  #String[48]
    ;#OxEndGroup
    ;#OxGroup#UART Port Descriptions
        ;#OxDefine#UartDeviceDescription#UART Device#String[48]
        ;#OxDefine#UartDriverDescription#UART Driver  #String[48]
    ;#OxEndGroup
;#OxEndSection

;#OxGlobalSection#UART File Names
    ;#OxGroup#These file names should not be left with their default Oxford Semiconductor names
        ;#OxDefine#MfFileName#Multiport Driver          #FileName[32,false,oxpciemf]
        ;#OxDefine#UartFileName#UART Driver             #FileName[32,false,oxpcieser]
        ;#OxDefine#UartUiFileName#UART User Interface#FileName[32,false,oxpcieui]
    ;#OxEndGroup
;#OxEndSection

;#OxGlobalSection#Supported UART Devices
    ;#OxMultiGroup#Supported Vendor and Device IDs
        ;#OxDefine#MfVendorId#Vendor Id#VendorId
        ;#OxDefine#MfDeviceId#Device Id#PCIeDeviceId
    ;#OxEndGroup
;#OxEndSection
