BatteryClassQueryWmiDataBlock 関数 (batclass.h)
BatteryClassQueryWmiDataBlock ルーチンは、DpWmiQueryDataBlock ルーチン内のバッテリ ミニクラス ドライバーによって使用され、バッテリ クラス ドライバーがドライバーの代わりに処理する WMI データ ブロック クエリ要求を処理できるようにします。
構文
NTSTATUS BATTERYCLASSAPI BatteryClassQueryWmiDataBlock(
[in] PVOID ClassData,
[in, out] PDEVICE_OBJECT DeviceObject,
[in, out] PIRP Irp,
[in] ULONG GuidIndex,
[out] PULONG InstanceLengthArray,
[in] ULONG OutBufferSize,
[out, optional] PUCHAR Buffer
);
パラメーター
[in] ClassData
BatteryClassInitializeDevice から以前に受信したバッテリ クラス ハンドルへのポインター。
[in, out] DeviceObject
ドライバーのデバイス オブジェクトへのポインター。 バッテリー ミニクラス ドライバーは、 DpWmiQueryDataBlock ルーチンへの入力として受け取る一致するパラメーターを渡す必要があります。
[in, out] Irp
WMI クエリ データ ブロック要求へのポインター。 バッテリー ミニクラス ドライバーは、 DpWmiQueryDataBlock ルーチンへの入力として受け取る一致するパラメーターを渡す必要があります。
[in] GuidIndex
インデックスによって WMI クラスを指定します。 バッテリー ミニクラス ドライバーは、 DpWmiQueryDataBlock ルーチンへの入力として受け取る一致するパラメーターを渡す必要があります。
[out] InstanceLengthArray
返される各インスタンスの長さを示す ULONG 値の配列へのポインター。 バッテリー ミニクラス ドライバーは、 DpWmiQueryDataBlock ルーチンへの入力として受け取る一致するパラメーターを渡す必要があります。
[in] OutBufferSize
Buffer パラメーターで指定されたバッファー内のデータを受信できる最大バイト数を指定します。 バッテリー ミニクラス ドライバーは、入力として受け取る BufferAvail パラメーターの値を DpWmiQueryDataBlock ルーチンに渡す必要があります。
[out, optional] Buffer
インスタンス データを受信するバッファーへのポインター。 バッファーが小さすぎてデータを保持できる場合、 BatteryClassQueryWmiDataBlock は状態値 STATUS_BUFFER_TOO_SMALLを返します。 バッテリー ミニクラス ドライバーは、 DpWmiQueryDataBlock ルーチンへの入力として受け取る一致するパラメーターを渡す必要があります。
戻り値
BatteryClassQueryWmiDataBlock は NT 状態コードを返します。 可能な戻り値は次のとおりです。
リターン コード | 説明 |
---|---|
|
バッテリー クラス ドライバーが要求を正常に処理しました。 |
|
Buffer パラメーターで指定されたバッファーが小さすぎるため、バッテリ クラス ドライバーは要求を処理できません。 |
|
バッテリ クラス ドライバーは、この WMI クラスを処理しません。 |
注釈
仕様上、バッテリ ミニクラス ドライバーは、要求を処理する前に、DpWmiQueryDataBlock ルーチン内で BatteryClassQueryWmiDataBlock を呼び出す必要があります。 ミニクラス ドライバーは、入力として受け取るパラメーターを DpWmiQueryDataBlock ルーチンに渡す必要があります。 バッテリ クラス ドライバーが STATUS_WMI_GUID_NOT_FOUND 以外の状態を返す場合、ルーチンはミニクラス ドライバーの代わりに要求を処理しました。 その場合、クラス ドライバーは既に WmiCompleteRequest を呼び出しており、ミニクラス ドライバーは再度呼び出さないでください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | batclass.h (Batclass.h を含む) |
Library | Battc.lib |