次の方法で共有


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

こちらもご覧ください

Hardware notifications support (ハードウェア通知のサポート)

ハードウェア通知リファレンス