:再问 WDM 加载的有关问题
求助:再问 WDM 加载的问题?
我通过 EzDriverInstaller 加载 inf 文件来安装 WDM 虚拟驱动,遇到了:
在调试时,出现提示:
服务无法启动,1058 错误。
服务无法启动或被禁止。
下面是相关代码:
; HelloWDM.inf
;版本信息
[Version]
Signature= "$CHICAGO$ "
Provider=ww
DriverVer=12/24/2009,3.0.0.3
; 类名称
Class=wwDevice
ClassGUID={EF2962F0-0D55-4bff-B8AA-2221EE8A79B0}
;安装磁盘节
[SourceDisksNames]
1 = "HelloWDM ",,0,
[SourceDisksFiles]
HelloWDM.sys = 1,C:\MySharedFolders\HelloWDM\objchk_wxp_x86\i386,
;--------- ClassInstall/ClassInstall32 Section -------------------------------
; Win9x 系统
[ClassInstall]
Addreg=Class_AddReg
;WinNT 系统
[ClassInstall32]
Addreg=Class_AddReg
[Class_AddReg]
HKR,,,,%DeviceClassName%
HKR,,Icon,, "-5 "
;目标文件的“缺省”操作目录
[DestinationDirs]
ww_Driver = 10,System32\Drivers ; ww_Driver 为自定义的节名
;供应商节
[Manufacturer]
%MfgName%=Mfg0
[Mfg0]
;改成自己的 ID
%DeviceDesc% = MyIDD, PCI\VEN_9999&DEV_9999 ; MyIDD 为自定义的节名
[MyIDD]
CopyFiles = ww_Driver
AddReg = My_9X_AddReg ; 添加注册表项,My_9X_AddReg 为自定义的节名
[My_9X_AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,HelloWDM.sys
HKR, "Parameters ", "BreakOnEntry ", 0x00010001, 0
; --------- Windows NT -----------------
[MyIDD.NT]
CopyFiles = ww_Driver
AddReg = My_NT_AddReg ; 添加注册表项,My_NT_AddReg 为自定义的节名
[MyIDD.NT.Services]
Addservice = HelloWDM, 0x00000002, MyIDD_AddService ; MyIDD_AddService 为自定义的节名
[MyIDD_AddService]
DisplayName = %SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %10%\System32\Drivers\HelloWDM.sys
[My_NT_AddReg]
HKLM, "System\CurrentControlSet\Services\HelloWDM\Parameters ",\
"BreakOnEntry ", 0x00010001, 0
;目标文件名
[ww_Driver]
HelloWDM.sys
;--------- Strings ---------------------------------------------------
[Strings]
ProviderName= "ww. "
MfgName= "ww Soft "
DeviceDesc= "Hello WDM! "
DeviceClassName= "ww_Device "
SvcDesc= "ww "
// HelloWDM.c
#include "HelloWDM.h "
#include "HelloWDMAddDevice.h "
#include "HelloWDMUnload.h "
我通过 EzDriverInstaller 加载 inf 文件来安装 WDM 虚拟驱动,遇到了:
在调试时,出现提示:
服务无法启动,1058 错误。
服务无法启动或被禁止。
下面是相关代码:
; HelloWDM.inf
;版本信息
[Version]
Signature= "$CHICAGO$ "
Provider=ww
DriverVer=12/24/2009,3.0.0.3
; 类名称
Class=wwDevice
ClassGUID={EF2962F0-0D55-4bff-B8AA-2221EE8A79B0}
;安装磁盘节
[SourceDisksNames]
1 = "HelloWDM ",,0,
[SourceDisksFiles]
HelloWDM.sys = 1,C:\MySharedFolders\HelloWDM\objchk_wxp_x86\i386,
;--------- ClassInstall/ClassInstall32 Section -------------------------------
; Win9x 系统
[ClassInstall]
Addreg=Class_AddReg
;WinNT 系统
[ClassInstall32]
Addreg=Class_AddReg
[Class_AddReg]
HKR,,,,%DeviceClassName%
HKR,,Icon,, "-5 "
;目标文件的“缺省”操作目录
[DestinationDirs]
ww_Driver = 10,System32\Drivers ; ww_Driver 为自定义的节名
;供应商节
[Manufacturer]
%MfgName%=Mfg0
[Mfg0]
;改成自己的 ID
%DeviceDesc% = MyIDD, PCI\VEN_9999&DEV_9999 ; MyIDD 为自定义的节名
[MyIDD]
CopyFiles = ww_Driver
AddReg = My_9X_AddReg ; 添加注册表项,My_9X_AddReg 为自定义的节名
[My_9X_AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,HelloWDM.sys
HKR, "Parameters ", "BreakOnEntry ", 0x00010001, 0
; --------- Windows NT -----------------
[MyIDD.NT]
CopyFiles = ww_Driver
AddReg = My_NT_AddReg ; 添加注册表项,My_NT_AddReg 为自定义的节名
[MyIDD.NT.Services]
Addservice = HelloWDM, 0x00000002, MyIDD_AddService ; MyIDD_AddService 为自定义的节名
[MyIDD_AddService]
DisplayName = %SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %10%\System32\Drivers\HelloWDM.sys
[My_NT_AddReg]
HKLM, "System\CurrentControlSet\Services\HelloWDM\Parameters ",\
"BreakOnEntry ", 0x00010001, 0
;目标文件名
[ww_Driver]
HelloWDM.sys
;--------- Strings ---------------------------------------------------
[Strings]
ProviderName= "ww. "
MfgName= "ww Soft "
DeviceDesc= "Hello WDM! "
DeviceClassName= "ww_Device "
SvcDesc= "ww "
// HelloWDM.c
#include "HelloWDM.h "
#include "HelloWDMAddDevice.h "
#include "HelloWDMUnload.h "