BatteryClassInitializeDevice 関数 (batclass.h)
BatteryClassInitializeDevice ルーチンは、クラス ドライバーの新しいバッテリ デバイスを初期化します。
構文
NTSTATUS BATTERYCLASSAPI BatteryClassInitializeDevice(
[in] PBATTERY_MINIPORT_INFO MiniportInfo,
[out] PVOID *ClassData
);
パラメーター
[in] MiniportInfo
BATTERY_MINIPORT_INFO構造体へのポインター。
[out] ClassData
BatteryClassInitializeDevice が、BatteryMiniXxx ルーチンの後続の呼び出しで使用されるハンドルを返す位置へのポインター。
戻り値
BatteryClassInitializeDevice は、バッテリ ミニクラス データを格納するのに十分なメモリがない場合は、STATUS_SUCCESSまたはSTATUS_INSUFFICIENT_RESOURCESを返します。
注釈
バッテリー ミニクラス ドライバーは、 BatteryClassInitializeDevice を呼び出して各バッテリ デバイスを登録し、デバイスとミニクラス ドライバーに関するデータをバッテリ クラス ドライバーに渡す必要があります。
このルーチンは、通常はミニクラス ドライバーの AddDevice ルーチンから、デバイスの初期化の一部として呼び出す必要があります。
BATTERY_MINIPORT_INFO構造体の Context メンバーは、クラス ドライバーとミニクラス ドライバーがバッテリ デバイスとそのドライバーに関する情報を保持する領域を指します。 コンテキスト領域には通常、FDO からのページング可能なデバイス拡張機能が含まれており、ドライバー ライターの裁量で他の情報を含めることもできます。
クラス ドライバーは、 バッテリ ミニクラス ドライバー ルーチン (BatteryMiniXxx ルーチン) の呼び出しでコンテキスト領域へのポインターを渡します。 BatteryMiniXxx ルーチンでは、ミニクラス ドライバーは、渡されたポインターを介してデバイス拡張機能データの読み取りと書き込みを行う必要があります。
ミニクラス ドライバーでは、すべての BatteryMiniXxx ルーチンのエントリ ポイントを指定するBATTERY_MINIPORT_INFO構造体を使用する必要があります。
BatteryClassInitializeDevice がバッテリ デバイスを正常に初期化した場合、呼び出し元は BatteryClassUnload 関数を呼び出して、使用されなくなったバッテリ デバイスのリソースを解放します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | batclass.h (Batclass.h を含む) |
Library | Battc.lib |