次の方法で共有


IOCTL_GET_PHYSICAL_DESCRIPTOR IOCTL (hidclass.h)

IOCTL_GET_PHYSICAL_DESCRIPTOR要求は、 最上位のコレクションの物理記述子を取得します。 ミニドライバーの場合、この記述子は HIDClass デバイスの記述子です。

HIDClass デバイスの一般的な情報については、「 HID コレクション」を参照してください。

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

IRP の I/O スタック位置の Parameters.DeviceIoControl.OutputBufferLength は、出力バッファーのサイズ (バイト単位) を示します。

出力バッファー

Irp->MdlAddress は、物理記述子を受け取るバッファーを指す必要があります。

HID ミニドライバーは、Irp-UserBuffer> のユーザー バッファーに物理記述子をコピーします。

ステータス ブロック

HID クラス ドライバーは、Irp-IoStatus>Status メンバーを、転送がエラーなしで完了した場合にSTATUS_SUCCESSに設定します。 それ以外の場合は、適切な NTSTATUS エラー コードに設定されます。

デバイスへの I/O を実行する HID ミニドライバーは、Irp-IoStatus> の次のフィールドを設定します。

  • 情報 は、デバイスから転送されたバイト数に設定されます。
  • 転送 がエラーなしで完了した場合、状態はSTATUS_SUCCESSに設定されます。 それ以外の場合は、適切な NTSTATUS エラー コードに設定されます。
この IRP を使用して他のドライバーを呼び出してデバイスに I/O を実行する HID ミニドライバーは、状態ブロックの [情報 ] フィールドが正しいことを確認し、[ 状態] フィールドの内容を変更しないようにする必要があります。

要件

要件
Header hidclass.h (Hidclass.h を含む)

こちらもご覧ください

HidD_GetPhysicalDescriptor