次の方法で共有


バッテリー ドライバーをインストールする

バッテリ ドライバーの INF ファイルは、ドライバーと制御するデバイスに関する情報を指定します。 すべてのバッテリ デバイスは Battery クラスに属し、バッテリ クラス インストーラーによってドライバーがインストールされます。

このセクションでは、INF ファイル内のバッテリ固有のエントリについて説明します。 INF ファイルを作成・配布し、ドライバーをインストールする方法の詳細については、INF ファイルの作成 および INF ファイルセクションとディレクティブを参照してください。

バッテリ ドライバーの INF ファイルには、以下で説明するセクションが含まれています。

バージョン

次の例に示すように、バッテリ ドライバーの INF ファイルは、INF バージョン セクションを使用して、Battery クラスとその GUID を指定します。

[Version]
Signature="$WINDOWS NT$"
Class=Battery
ClassGuid={72631e54-78a4-11d0-bcf7-00aa00b7b32a}
Provider=%MyCo%
CatalogFile=ExampleCatalog.cat
PnpLockdown=1

%MyCo% は、INF 文字列セクション で定義する必要があることに注意してください (表示されません)。

DestinationDirs

INF DestinationDirs セクションで、バッテリ ドライバーの INF は、すべてのファイルの既定値として ドライバー ストア (13) を指定します。

[DestinationDirs]
DefaultDestDir = 13

生産者

INF Manufacturer セクション デバイスの製造元を定義します。

[Manufacturer]
%MyCo%=MyCompany,NTamd64.10.0...16299

モデル

INF Models セクション、バッテリの PnP ハードウェア ID (例では pnpid 示されています) を指定します。 デバイスが ACPI を通じて列挙される場合、このセクションでは EISA スタイルの ID も指定する必要があります (acpidevnum 示されています)。 これらの ID の作成の詳細については、「の詳細な構成と電源インターフェイス仕様の」を参照してください。これは、ACPI/Power Management Web サイトから入手できます。

[MyCompany.NTamd64.10.0...16299]
%pnpid.DeviceDesc% = NewBatt_Inst,pnpid
%ACPI\acpidevnum.DeviceDesc% = NewBatt_Inst,ACPI\acpidevnum

DDInstall

INF DDInstall セクション (例では NewBatt_Inst という名前) で、INF CopyFiles ディレクティブ 新しいミニクラス ドライバー (NewBatt.sys) を、DestinationDirs ディレクティブで指定されたコピー先にコピーします。 IncludeNeeds ディレクティブにより、battery.inf の Battery_Inst を介したバッテリクラスドライバーへの依存関係も指定する必要があります。

[NewBatt_Inst]
CopyFiles = @NewBatt.sys
Include = battery.inf
Needs = Battery_Inst

DDInstall.Services

INF DDInstallサービス セクション には、バッテリードライバーに関する追加情報を指定する INF AddService ディレクティブ が含まれています。 バッテリ ドライバーの INF ファイルは、ドライバーが通常のエラー処理を使用し、オペレーティング システムの初期化中に起動するカーネル ドライバーであることを示す必要があります。 バッテリー ドライバーは、拡張ベースという読み込み順序グループを指定します。

[NewBatt_Inst.Services]
AddService = NewBatt,2,NewBatt_Service_Inst    ; function driver for the device
 
[NewBatt_Service_Inst]
DisplayName    = %NewBatt.SvcDesc%
ServiceType    = 1 ;    SERVICE_KERNEL_DRIVER
StartType      = 3 ;    SERVICE_DEMAND_START
ErrorControl   = 1 ;    SERVICE_ERROR_NORMAL%
ServiceBinary  = %13%\NewBatt.sys