;--------------------------------------------------------------------------
; blackberryncm.INF (WinXP/2003/Vista/2008/Win7/Win8)
;
; Copyright (c) 2013 BlackBerry Inc.
; All rights reserved.
;
;--------------------------------------------------------------------------

[Version]
Signature="$WINDOWS NT$"
Class=Net
ClassGuid={4d36e972-e325-11ce-bfc1-08002be10318}
Provider=%ManufacturerName%
CatalogFile=blackberryncm.cat
DriverVer=09/08/2014,1.0.0.26

[DestinationDirs]
DefaultDestDir = 12

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

[SourceDisksFiles.x86]
blackberryncm.sys  = 1,x86,
blackberryncm6.sys  = 1,x86,
WdfCoInstaller01007.dll = 1,x86,

[SourceDisksFiles.amd64]
blackberryncm_AMD64.sys  = 1,amd64,
blackberryncm6_AMD64.sys  = 1,amd64,
WdfCoInstaller01007.dll = 1,amd64,

;*****************************************
; Install Section
;*****************************************

[Manufacturer]
%ManufacturerName%=Standard,nt.6.0,ntamd64,ntamd64.6.0

[Standard]
%blackberryncmEP.DeviceDesc%=Device.blackberryncmEP.nt, USB\VID_0fca&PID_8015
%blackberryncmEP.DeviceDesc%=Device.blackberryncmEP.nt, USB\VID_0fca&PID_8016&MI_00
%blackberryncmEP.DeviceDesc%=Device.blackberryncmEP.nt, USB\VID_0fca&PID_8017&MI_00
%blackberryncmStd.DeviceDesc%=Device.blackberryncmStd.nt, USB\VID_0fca&PID_8017&MI_02

[Standard.ntamd64]
%blackberryncmEP.DeviceDesc%=Device.blackberryncmEP.ntamd64, USB\VID_0fca&PID_8015
%blackberryncmEP.DeviceDesc%=Device.blackberryncmEP.ntamd64, USB\VID_0fca&PID_8016&MI_00
%blackberryncmEP.DeviceDesc%=Device.blackberryncmEP.ntamd64, USB\VID_0fca&PID_8017&MI_00
%blackberryncmStd.DeviceDesc%=Device.blackberryncmStd.ntamd64, USB\VID_0fca&PID_8017&MI_02

[Standard.nt.6.0]
%blackberryncmEP.DeviceDesc%=Device.blackberryncmEP.nt.6.0, USB\VID_0fca&PID_8015
%blackberryncmEP.DeviceDesc%=Device.blackberryncmEP.nt.6.0, USB\VID_0fca&PID_8016&MI_00
%blackberryncmEP.DeviceDesc%=Device.blackberryncmEP.nt.6.0, USB\VID_0fca&PID_8017&MI_00
%blackberryncmStd.DeviceDesc%=Device.blackberryncmStd.nt.6.0, USB\VID_0fca&PID_8017&MI_02

[Standard.ntamd64.6.0]
%blackberryncmEP.DeviceDesc%=Device.blackberryncmEP.ntamd64.6.0, USB\VID_0fca&PID_8015
%blackberryncmEP.DeviceDesc%=Device.blackberryncmEP.ntamd64.6.0, USB\VID_0fca&PID_8016&MI_00
%blackberryncmEP.DeviceDesc%=Device.blackberryncmEP.ntamd64.6.0, USB\VID_0fca&PID_8017&MI_00
%blackberryncmStd.DeviceDesc%=Device.blackberryncmStd.ntamd64.6.0, USB\VID_0fca&PID_8017&MI_02

[Device.blackberryncmEP.nt]
AddReg=AddReg.blackberryncmEP.nt
CopyFiles=CopyFiles.blackberryncm.nt
Characteristics = 0x4 ; NCF_PHYSICAL
BusType = 15 ; PNPBus
*MediaType = 0 ; NdisMedium802_3
*PhysicalMediaType = 0 ; NdisPhysicalMediumUnspecified
*IfType = 6 ; IF_TYPE_ETHERNET_CSMACD

[Device.blackberryncmEP.ntamd64]
AddReg=AddReg.blackberryncmEP.ntamd64
CopyFiles=CopyFiles.blackberryncm.ntamd64
Characteristics = 0x4 ; NCF_PHYSICAL
BusType = 15 ; PNPBus
*MediaType = 0 ; NdisMedium802_3
*PhysicalMediaType = 0 ; NdisPhysicalMediumUnspecified
*IfType = 6 ; IF_TYPE_ETHERNET_CSMACD

[Device.blackberryncmEP.nt.6.0]
AddReg=AddReg.blackberryncmEP.nt.6.0
CopyFiles=CopyFiles.blackberryncm.nt.6.0
Characteristics = 0x4 ; NCF_PHYSICAL
BusType = 15 ; PNPBus
*MediaType = 0 ; NdisMedium802_3
*PhysicalMediaType = 0 ; NdisPhysicalMediumUnspecified
*IfType = 6 ; IF_TYPE_ETHERNET_CSMACD

[Device.blackberryncmEP.ntamd64.6.0]
AddReg=AddReg.blackberryncmEP.ntamd64.6.0
CopyFiles=CopyFiles.blackberryncm.ntamd64.6.0
Characteristics = 0x4 ; NCF_PHYSICAL
BusType = 15 ; PNPBus
*MediaType = 0 ; NdisMedium802_3
*PhysicalMediaType = 0 ; NdisPhysicalMediumUnspecified
*IfType = 6 ; IF_TYPE_ETHERNET_CSMACD


[Device.blackberryncmStd.nt]
AddReg=AddReg.blackberryncmStd.nt
CopyFiles=CopyFiles.blackberryncm.nt
Characteristics = 0x4 ; NCF_PHYSICAL
BusType = 15 ; PNPBus
*MediaType = 0 ; NdisMedium802_3
*PhysicalMediaType = 0 ; NdisPhysicalMediumUnspecified
*IfType = 6 ; IF_TYPE_ETHERNET_CSMACD

[Device.blackberryncmStd.ntamd64]
AddReg=AddReg.blackberryncmStd.ntamd64
CopyFiles=CopyFiles.blackberryncm.ntamd64
Characteristics = 0x4 ; NCF_PHYSICAL
BusType = 15 ; PNPBus
*MediaType = 0 ; NdisMedium802_3
*PhysicalMediaType = 0 ; NdisPhysicalMediumUnspecified
*IfType = 6 ; IF_TYPE_ETHERNET_CSMACD

[Device.blackberryncmStd.nt.6.0]
AddReg=AddReg.blackberryncmStd.nt.6.0
CopyFiles=CopyFiles.blackberryncm.nt.6.0
Characteristics = 0x4 ; NCF_PHYSICAL
BusType = 15 ; PNPBus
*MediaType = 0 ; NdisMedium802_3
*PhysicalMediaType = 0 ; NdisPhysicalMediumUnspecified
*IfType = 6 ; IF_TYPE_ETHERNET_CSMACD

[Device.blackberryncmStd.ntamd64.6.0]
AddReg=AddReg.blackberryncmStd.ntamd64.6.0
CopyFiles=CopyFiles.blackberryncm.ntamd64.6.0
Characteristics = 0x4 ; NCF_PHYSICAL
BusType = 15 ; PNPBus
*MediaType = 0 ; NdisMedium802_3
*PhysicalMediaType = 0 ; NdisPhysicalMediumUnspecified
*IfType = 6 ; IF_TYPE_ETHERNET_CSMACD


[CopyFiles.blackberryncm.nt]
blackberryncm.sys

[CopyFiles.blackberryncm.ntamd64]
blackberryncm_AMD64.sys

[CopyFiles.blackberryncm.nt.6.0]
blackberryncm6.sys

[CopyFiles.blackberryncm.ntamd64.6.0]
blackberryncm6_AMD64.sys

[AddReg.blackberryncmEP.nt]
; By default, USBDevice class uses iProduct descriptor to name the device in
; Device Manager on Windows 8 and higher.
; Uncomment for this device to use %DeviceName% on Windows 8 and higher:
;HKR,,FriendlyName,,%blackberryncmEP.DeviceDesc%
HKR,    ,                         DevLoader,   , *ntkern
HKR,    ,                         BusNumber,  0, "0" 
HKR, Ndi,                         Service,    0, "blackberryncm"
HKR, Ndi\Interfaces,              UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces,              LowerRange, 0, "ethernet"
HKR,,NTMPDriver,,blackberryncm.sys
HKR,, *NdisDeviceType, 0x10001, 1 ; NDIS_DEVICE_TYPE_ENDPOINT 

[AddReg.blackberryncmEP.ntamd64]
; By default, USBDevice class uses iProduct descriptor to name the device in
; Device Manager on Windows 8 and higher.
; Uncomment for this device to use %DeviceName% on Windows 8 and higher:
;HKR,,FriendlyName,,%blackberryncmEP.DeviceDesc%
HKR,    ,                         DevLoader,   , *ntkern
HKR,    ,                         BusNumber,  0, "0" 
HKR, Ndi,                         Service,    0, "blackberryncm"
HKR, Ndi\Interfaces,              UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces,              LowerRange, 0, "ethernet"
HKR,,NTMPDriver,,blackberryncm_AMD64.sys
HKR,, *NdisDeviceType, 0x10001, 1 ; NDIS_DEVICE_TYPE_ENDPOINT 

[AddReg.blackberryncmEP.nt.6.0]
; By default, USBDevice class uses iProduct descriptor to name the device in
; Device Manager on Windows 8 and higher.
; Uncomment for this device to use %DeviceName% on Windows 8 and higher:
;HKR,,FriendlyName,,%blackberryncmEP.DeviceDesc%
HKR,    ,                         DevLoader,   , *ntkern
HKR,    ,                         BusNumber,  0, "0" 
HKR, Ndi,                         Service,    0, "blackberryncm"
HKR, Ndi\Interfaces,              UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces,              LowerRange, 0, "ethernet"
HKR,,NTMPDriver,,blackberryncm6.sys
HKR,, *NdisDeviceType, 0x10001, 1 ; NDIS_DEVICE_TYPE_ENDPOINT 

[AddReg.blackberryncmEP.ntamd64.6.0]
; By default, USBDevice class uses iProduct descriptor to name the device in
; Device Manager on Windows 8 and higher.
; Uncomment for this device to use %DeviceName% on Windows 8 and higher:
;HKR,,FriendlyName,,%blackberryncmEP.DeviceDesc%
HKR,    ,                         DevLoader,   , *ntkern
HKR,    ,                         BusNumber,  0, "0" 
HKR, Ndi,                         Service,    0, "blackberryncm"
HKR, Ndi\Interfaces,              UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces,              LowerRange, 0, "ethernet"
HKR,,NTMPDriver,,blackberryncm6_AMD64.sys
HKR,, *NdisDeviceType, 0x10001, 1 ; NDIS_DEVICE_TYPE_ENDPOINT 


[AddReg.blackberryncmStd.nt]
; By default, USBDevice class uses iProduct descriptor to name the device in
; Device Manager on Windows 8 and higher.
; Uncomment for this device to use %DeviceName% on Windows 8 and higher:
;HKR,,FriendlyName,,%blackberryncmEP.DeviceDesc%
HKR,    ,                         DevLoader,   , *ntkern
HKR,    ,                         BusNumber,  0, "0" 
HKR, Ndi,                         Service,    0, "blackberryncm"
HKR, Ndi\Interfaces,              UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces,              LowerRange, 0, "ethernet"
HKR,,NTMPDriver,,blackberryncm.sys
HKR,, *NdisDeviceType, 0x10001, 0 ; 0 = standard networking device that connects to a network

[AddReg.blackberryncmStd.ntamd64]
; By default, USBDevice class uses iProduct descriptor to name the device in
; Device Manager on Windows 8 and higher.
; Uncomment for this device to use %DeviceName% on Windows 8 and higher:
;HKR,,FriendlyName,,%blackberryncmEP.DeviceDesc%
HKR,    ,                         DevLoader,   , *ntkern
HKR,    ,                         BusNumber,  0, "0" 
HKR, Ndi,                         Service,    0, "blackberryncm"
HKR, Ndi\Interfaces,              UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces,              LowerRange, 0, "ethernet"
HKR,,NTMPDriver,,blackberryncm_AMD64.sys
HKR,, *NdisDeviceType, 0x10001, 0 ; 0 = standard networking device that connects to a network

[AddReg.blackberryncmStd.nt.6.0]
; By default, USBDevice class uses iProduct descriptor to name the device in
; Device Manager on Windows 8 and higher.
; Uncomment for this device to use %DeviceName% on Windows 8 and higher:
;HKR,,FriendlyName,,%blackberryncmEP.DeviceDesc%
HKR,    ,                         DevLoader,   , *ntkern
HKR,    ,                         BusNumber,  0, "0" 
HKR, Ndi,                         Service,    0, "blackberryncm"
HKR, Ndi\Interfaces,              UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces,              LowerRange, 0, "ethernet"
HKR,,NTMPDriver,,blackberryncm6.sys
HKR,, *NdisDeviceType, 0x10001, 0 ; 0 = standard networking device that connects to a network

[AddReg.blackberryncmStd.ntamd64.6.0]
; By default, USBDevice class uses iProduct descriptor to name the device in
; Device Manager on Windows 8 and higher.
; Uncomment for this device to use %DeviceName% on Windows 8 and higher:
;HKR,,FriendlyName,,%blackberryncmEP.DeviceDesc%
HKR,    ,                         DevLoader,   , *ntkern
HKR,    ,                         BusNumber,  0, "0" 
HKR, Ndi,                         Service,    0, "blackberryncm"
HKR, Ndi\Interfaces,              UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces,              LowerRange, 0, "ethernet"
HKR,,NTMPDriver,,blackberryncm6_AMD64.sys
HKR,, *NdisDeviceType, 0x10001, 0 ; 0 = standard networking device that connects to a network



;-------------- Service installation
[Device.blackberryncmEP.nt.Services]
AddService = blackberryncm,0x00000002, ServiceInst_blackberryncm_nt

[Device.blackberryncmEP.ntamd64.Services]
AddService = blackberryncm,0x00000002, ServiceInst_blackberryncm_ntamd64

[Device.blackberryncmEP.nt.6.0.Services]
AddService = blackberryncm,0x00000002, ServiceInst_blackberryncm_nt.6.0

[Device.blackberryncmEP.ntamd64.6.0.Services]
AddService = blackberryncm,0x00000002, ServiceInst_blackberryncm_ntamd64.6.0


[Device.blackberryncmStd.nt.Services]
AddService = blackberryncm,0x00000002, ServiceInst_blackberryncm_nt

[Device.blackberryncmStd.ntamd64.Services]
AddService = blackberryncm,0x00000002, ServiceInst_blackberryncm_ntamd64

[Device.blackberryncmStd.nt.6.0.Services]
AddService = blackberryncm,0x00000002, ServiceInst_blackberryncm_nt.6.0

[Device.blackberryncmStd.ntamd64.6.0.Services]
AddService = blackberryncm,0x00000002, ServiceInst_blackberryncm_ntamd64.6.0

; -------------- blackberryncm driver install sections
[ServiceInst_blackberryncm_nt]
DisplayName    = %blackberryncm.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\blackberryncm.sys
LoadOrderGroup = NDIS

[ServiceInst_blackberryncm_ntamd64]
DisplayName    = %blackberryncm.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\blackberryncm_AMD64.sys
LoadOrderGroup = NDIS

[ServiceInst_blackberryncm_nt.6.0]
DisplayName    = %blackberryncm.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\blackberryncm6.sys
LoadOrderGroup = NDIS

[ServiceInst_blackberryncm_ntamd64.6.0]
DisplayName    = %blackberryncm.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\blackberryncm6_AMD64.sys
LoadOrderGroup = NDIS

;
;--- blackberryncm_Device Coinstaller installation ------
;

[DestinationDirs]
blackberryncm_Device_CoInstaller_CopyFiles = 11

[Device.blackberryncmEP.nt.CoInstallers]
AddReg=blackberryncm_Device_CoInstaller_AddReg
CopyFiles=blackberryncm_Device_CoInstaller_CopyFiles

[Device.blackberryncmEP.ntamd64.CoInstallers]
AddReg=blackberryncm_Device_CoInstaller_AddReg
CopyFiles=blackberryncm_Device_CoInstaller_CopyFiles

[Device.blackberryncmEP.nt.6.0.CoInstallers]
AddReg=blackberryncm_Device_CoInstaller_AddReg
CopyFiles=blackberryncm_Device_CoInstaller_CopyFiles

[Device.blackberryncmEP.ntamd64.6.0.CoInstallers]
AddReg=blackberryncm_Device_CoInstaller_AddReg
CopyFiles=blackberryncm_Device_CoInstaller_CopyFiles

[blackberryncm_Device_CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01007.dll,WdfCoInstaller"

[blackberryncm_Device_CoInstaller_CopyFiles]
WdfCoInstaller01007.dll

[Device.blackberryncmEP.nt.Wdf]
KmdfService =  blackberryncm, blackberryncm_wdfsect

[Device.blackberryncmEP.ntamd64.Wdf]
KmdfService =  blackberryncm, blackberryncm_wdfsect

[Device.blackberryncmEP.nt.6.0.Wdf]
KmdfService =  blackberryncm, blackberryncm_wdfsect

[Device.blackberryncmEP.ntamd64.6.0.Wdf]
KmdfService =  blackberryncm, blackberryncm_wdfsect

[blackberryncm_wdfsect]
KmdfLibraryVersion = 1.7

[Strings]
ManufacturerName="BlackBerry Inc."
ClassName="Universal Serial Bus devices"
DiskName = "BlackBerryNCM Installation Disk"
blackberryncmEP.DeviceDesc = "BlackBerry Device"
blackberryncmStd.DeviceDesc = "BlackBerry Tethering Device"
blackberryncm.SVCDESC = "BlackBerryNCM Service"
REG_MULTI_SZ = 0x00010000
