HWN_CLIENT_GET_STATE コールバック関数 (hwnclx.h)
ハードウェア通知コンポーネントの状態を取得するためにクライアント ドライバーによって実装されます。 ユーザーが状態情報を要求すると呼び出されます。
構文
HWN_CLIENT_GET_STATE HwnClientGetState;
NTSTATUS HwnClientGetState(
[in] PVOID Context,
[out] PVOID OutputBuffer,
[in] ULONG OutputBufferLength,
[in] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out] PULONG BytesRead
)
{...}
パラメーター
[in] Context
クライアント ドライバーのコンテキスト情報へのポインター。 このメモリ領域は、クライアント ドライバーで使用できます。 WdfDeviceCreate によってフレームワーク オブジェクト コンテキスト空間の一部として割り当てられます。 詳細については、「 HWN_CLIENT_REGISTRATION_PACKET と フレームワーク オブジェクト コンテキスト空間」を参照してください。
[out] OutputBuffer
ハードウェア通知の状態を書き込む OutputBufferLength バイトのバッファー。 関数が成功した場合、バッファーには、1 つ以上の HWN_SETTINGS 構造体を含む HWN_HEADER構造体が 含まれます。
OutputBufferLength は、要求されたすべての設定を含めるのに十分な大きさにする必要があります。 詳細については、「解説」を参照してください。
[in] OutputBufferLength
OutputBuffer のサイズ (バイト単位)。
[in] InputBuffer
要求されたハードウェア通知コンポーネントの ID が HwNId フィールドに格納されている 1 つ以上のHWN_SETTINGS構造体を保持するHWN_HEADERを含む InputBufferLength バイトのバッファー。 このバッファーには NULL を指定できます。
[in] InputBufferLength
InputBuffer のサイズ (バイト単位)。
[out] BytesRead
関数によって読み取られたバイト数を示す変数へのポインター。
戻り値
操作が成功した場合は、STATUS_SUCCESSを返します。 それ以外の場合は、適切な NTSTATUS エラー コードを返します。
注釈
このコールバック関数の実装を登録するには、HWN_CLIENT_REGISTRATION_PACKETの適切なメンバー を 設定し、 HwNRegisterClient を呼び出します。
-
InputBuffer が NULL の場合、出力バッファーは、ドライバーによって実装されるハードウェア通知のすべての設定を含むHWN_HEADER構造体を格納するために使用されます。
ハードウェア通知コンポーネントの設定は、 HWN_SETTINGS 構造に格納されます。 HWN_HEADER構造体の HwNSettingsInfo フィールドには、 HWN_SETTINGS 構造体の配列 が 含まれています。
- InputBuffer が null ではなく、正しく書式設定されている場合は、1 つ以上のHWN_SETTINGS構造体を持つHWN_HEADERが含まれます。 要求されたハードウェア通知コンポーネントの ID は、HWN_SETTINGS構造体の HwNId フィールドに格納されます。 残りの設定は、有効な設定または 0 である必要があります。
- OutputBuffer が要求されたすべての設定を含むのに十分な大きさでない場合、この関数は OutputBuffer に何も書き込むべきではありません。 さらに、 BytesRead を 0 に設定し、エラーを返す必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 バージョン 1709 |
サポートされている最小のサーバー | Windows Server 2016 |
対象プラットフォーム | Windows |
ヘッダー | hwnclx.h |
IRQL | PASSIVE_LEVEL |