5

Windows ドライバーの sys ファイルを system32\drivers ディレクトリの外に置くことは合法ですか? driver.sys ファイルへの絶対パスを使用して、ドライバーが CreateService を介して「手動で」構成されている場合は可能であるようです。ただし、InstallHinfSection を使用してドライバーをインストールするために INF ファイルが使用され、ドライバーの場所が system32\drivers 以外の場合、InstallHinfSection はエラーで失敗します。

!!! dvi: ドライバ パスがシステム ルートにありません !!! inf: {インストール Inf セクション [DefaultInstall.NT.Services] exit(0xe0000217)} !!! inf: エラー 0xe0000217: この INF のサービス インストール セクションが無効です。inf: {インストール Inf セクション [DefaultInstall.NT]} ServiceBinary = %1%\MyDriverdrv.sys の場合。ServiceBinary = %12%\MyDriverdrv.sys の場合に成功します。system32\ドライバー

INf ファイル:

;
; INF file to install MyDriver registry filter driver
;

[Version]
signature = "$Windows NT$"
Provider    = %MyDriverInc%
CatalogFile =

; Distribution Media information
;
[SourceDisksNames]
1 = %MyDriverdrv.MediaDesc%

[SourceDisksFiles]
MyDriverdrv.sys = 1

[DestinationDirs]
DefaultDestDir = 12
MyDriver.DriverFiles = 12

[DefaultInstall.NT]
CopyFiles = MyDriver.DriverFiles

[DefaultUninstall.NT]
DelFiles = MyDriver.DriverFiles

[MyDriver.DriverFiles]
MyDriverdrv.sys

[DefaultInstall.NT.Services]
AddService = %ServiceName%, , MyDriverdrv_Service_Inst

[DefaultUninstall.NT.Services]
AddService = %ServiceName%, 0x200

[MyDriverdrv_Service_Inst]
DisplayName    = %MyDriverdrv.SvcDesc%
ServiceType    = 1; SERVICE_KERNEL_DRIVER
StartType      = 3; SERVICE_DEMAND_START
ErrorControl   = 1; SERVICE_ERROR_NORMAL
ServiceBinary  = %1%\MyDriverdrv.sys

[Strings]
MyDriverInc        = "MyDriver, Inc"
ServiceName = "MyDriverdrv"
MyDriverdrv.SvcDesc = "MyDriver Trace Kernel Mode Driver"
MyDriverdrv.MediaDesc = "MyDriver Trace Kernel Mode Driver"

INF ファイルは現在、ドライバーをインストールするための公式の方法であるため、ドライバー ファイルをローカルに保持する方法がわかりません。

ありがとう!

4

0 に答える 0