“已建立驱动程序列表”错误消息

时间:2014-11-12 15:01:37

标签: driver windows-server-2008 windows-server-2003

尝试在win server 2008上安装网络驱动程序时,我收到了以下消息框:

{Unable to find any drivers for this device}

此外,这是 setupapi.app.log 输出:

>>>  [Build Driver List - unknown device]
>>>  Section start 2014/11/12 14:59:09.946
      cmd: C:\windows\Explorer.EXE
!    dvi: Driver list already built
<<<  Section end 2014/11/12 14:59:09.946
<<<  [Exit status: SUCCESS]

此驱动程序以前安装在win server 2003上。

这是 INF 文件:

; -- NETSF.INF --
;
; Passthru driver INF file - this is the INF for the service (protocol)
; part.
;
; Copyright (c) 1993-2001, Microsoft Corporation
;
; ----------------------------------------------------------------------
; Notes:
; 0. The term "filter" is used in this INF to refer to an NDIS IM driver that
;    implements a 1:1 relationship between upper and lower bindings.
;
; 1. Items specifically required for a filter have been marked with
;    "!!--Filter Specific--!!" keyword
; 2. In general a filter DOES NOT require a notify object for proper installation.
;    A notify object is only required if one wants to have better control
;    over binding operations or if one wants to receive notifications
;    when other components get installed/removed/bound/unbound.
;    Since Windows 2000 systems do not have support for CopyINF directive,
;    a notify object is required to programmatically copy the miniport INF  
;    file to the system INF directory. Previous versions of this INF file
;    erroneously used to copy the INF files directly by using the CopyFiles 
;    directive.
;    On Windows XP, you can install a filter IM without a notify object.
;    by following the instructions in (4).
;
; 3. If you want to use this INF file with your own IM driver, please
;    make the following modifications:
;    File netsf.inf
;    --------------
;    a. In section [SourceDiskFiles] and [Passthru.Files.Sys]
;       change passthru.sys to the name of your own driver binary.
;    b. In section [Passthru.ndi.AddReg], change values of
;       BindForm and MiniportId to appropriate values.
;    File netsf_m.inf
;    ----------------
;    a. Replace MS_PassthruMP with InfId of your miniport.
;    b. In section [PassthruMP.AddService],
;       change ServiceBinary appropriately.
;    c. In section [PassthruMP.ndi.AddReg],
;       change "Passthru" in the line having "Service"
;       to reflect the appropriate name
;
;
; ----------------------------------------------------------------------

[Version]
Signature  = "$Windows NT$"
Class      = NetService
ClassGUID  = {4D36E974-E325-11CE-BFC1-08002BE10318}
Provider   = %Msft%
DriverVer  = 06/24/1999,5.00.2071.1


[Manufacturer]
%Msft% = MSFT

[ControlFlags]

;=========================================================================
;
;=========================================================================

[MSFT]
%Passthru_Desc% = Passthru.ndi, ms_passthru



[Passthru.ndi]
AddReg          = Passthru.ndi.AddReg, Passthru.AddReg
Characteristics = 0x4410 ;  NCF_FILTER | NCF_NDIS_PROTOCOL !--Filter Specific--!!
CopyFiles       = Passthru.Files.Sys
CopyInf         = netsf_m.inf

[Passthru.ndi.Remove]
DelFiles = Passthru.Files.Sys

[Passthru.ndi.Services]
AddService = Passthru,, Passthru.AddService

[Passthru.AddService]
DisplayName    = %PassthruService_Desc%
ServiceType    = 1 ;SERVICE_KERNEL_DRIVER
StartType      = 3 ;SERVICE_DEMAND_START
ErrorControl   = 1 ;SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\passthru.sys
LoadOrderGroup = PNP_TDI
AddReg         = Passthru.AddService.AddReg


[Passthru.AddService.AddReg]
; ----------------------------------------------------------------------
; Add any miniport-specific parameters here.  These are params that your
; filter device is going to use.
;
;HKR, Parameters, ParameterName,  0x10000, "MultiSz", "Parameter", "Value"
;HKR, Parameters, ParameterName2, 0x10001, 4


; ----------------------------------------------------------------------
; File copy
;
[SourceDisksNames]
1=%DiskDescription%,"",,

[SourceDisksFiles]
passthru.sys=1

[DestinationDirs]
DefaultDestDir = 12
Passthru.Files.Sys   = 12   ; %windir%\System32\drivers

[Passthru.Files.Sys]
passthru.sys,,,2

; ----------------------------------------------------------------------
; Filter Install
;

[Passthru.ndi.AddReg]
HKR, Ndi, HelpText, , %Passthru_HELP%

; ----------------------------------------------------------------------
; !!--Filter Specific--!!
;
; Note:
; 1. Other components may also have UpperRange/LowerRange but for filters
;    the value of both of them must be noupper/nolower
; 2. The value FilterClass is required.
; 3. The value Service is required
; 4. FilterDeviceInfId is the InfId of the filter device (miniport) that will
;    be installed for each filtered adapter.
;    In this case this is ms_passthrump (refer to netsf_m.inf)
;
HKR, Ndi,            FilterClass,         , failover
HKR, Ndi,            FilterDeviceInfId,   , ms_passthrump
HKR, Ndi,            Service,             , Passthru
HKR, Ndi\Interfaces, UpperRange,          , noupper
HKR, Ndi\Interfaces, LowerRange,          , nolower
HKR, Ndi\Interfaces, FilterMediaTypes,    , "ethernet, tokenring, fddi, wan"

[Passthru.AddReg]
; The following key is Required
; The following key is Passthru specific
HKR, Parameters, Param1, 0, 4

; ----------------------------------------------------------------------
[Strings]
Msft = "Microsoft"
DiskDescription = "Microsoft Passthru Driver Disk"

Passthru_Desc = "Passthru Driver"
Passthru_HELP = "Passthru Driver"
PassthruService_Desc = "Passthru Service"

1 个答案:

答案 0 :(得分:1)

该问题是由于制造商部分的更改造成的。

自Windows 2003 SP1起,驱动程序的 INF 文件必须包含操作系统的版本(x86或64版本)。

INF Models Section

  

重要 Windows Server 2003 SP1 开始, INF 文件必须   装饰 INF 制造商部分中的models-section-name条目,   以及相关的 INF 模型部分名称,以及 .ntia64 或    .ntamd64 平台扩展,用于指定非x86目标操作   系统版本。 INF 中不需要这些平台扩展   基于x86的目标操作系统版本或非PnP驱动程序的文件    INF 文件(例如基于x64的文件系统驱动程序 INF 文件   体系结构)。 “模型”部分中的每个条目有时称为“a”   驱动程序节点。

Sample INF Models Sections for One or More Target Operating Systems

[Manufacturer]
%Msft%          = Msft, NTx86.6.0, NTamd64.6.0

; ----------------------------------------------------------------------
; Models Section
; ----------------------------------------------------------------------

;For Windows 2000 and Windows XP

[Msft]
%NetVMini.DeviceDesc%   = NetVMini.NTx86.ndi, root\NetVMini ; Root enumerated 
%NetVMini.DeviceDesc%   = NetVMini.NTx86.ndi, {b85b7c50-6a01-11d2-b841-00c04fad5171}\NetVMini ; Toaster Bus enumerated 

;For Windows Vista and later

[Msft.NTx86.6.0]
%NetVMini.DeviceDesc%    = NetVMini.NTx86.ndi, root\NetVMini ; Root enumerated 
%NetVMini.DeviceDesc%    = NetVMini.NTx86.ndi, {b85b7c50-6a01-11d2-b841-00c04fad5171}\NetVMini ; Toaster Bus enumerated 

[Msft.NTamd64.6.0]
%NetVMini.DeviceDesc%    = NetVMini.NTamd64.ndi, root\NetVMini ; Root enumerated 
%NetVMini.DeviceDesc%    = NetVMini.NTamd64.ndi, {b85b7c50-6a01-11d2-b841-00c04fad5171}\Ne