次の方法で共有


IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS IOCTL (hidclass.h)

IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS要求は、最上位コレクションの入力レポート キューのバッファーの数を設定します。

各入力レポート キューは、リング バッファーとして実装されます。 コレクションは、ドライバーが読み取ることができるよりも高速に HID クラス ドライバーにデータを送信する場合、データの一部が失われる可能性があります。 この種の損失を防ぐために、IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS要求を使用して、入力レポート キューに含まれるバッファーの数を調整できます。 HID クラス ドライバーには、少なくとも 2 つの入力バッファーが必要です。 Windows 2000 では、HID クラス ドライバーがサポートする入力バッファーの最大数は 200 で、Windows XP 以降では、HID クラス ドライバーがサポートする入力バッファーの最大数は 512 です。 入力バッファーの既定の数は 32 です。

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

メジャー コード

IRP_MJ_DEVICE_CONTROL

入力バッファー

Irp->AssociatedIrp.SystemBuffer は、入力レポート キューのバッファーの新しい数を受け取る ULONG サイズの入力バッファーを指します。

IRP の I/O スタック位置の Parameters.DeviceIoControl.InputBufferLength には、Irp->AssociatedIrp.SystemBuffer の入力バッファーのサイズ (バイト単位) が含まれます。 このサイズは、(ULONG) のサイズする必要があります。

入力バッファーの長さ

ULONG のサイズ。

出力バッファー

何一つ。

出力バッファーの長さ

何一つ。

状態ブロック

要求が成功した場合、HID クラス ドライバーは、Irp->IoStatus状態 フィールドをSTATUS_SUCCESSに設定します。それ以外の場合は、Status フィールドを適切な NTSTATUS エラー コードに設定します。

必要条件

要件 価値
ヘッダー hidclass.h (Hidclass.h を含む)

関連項目

HidD_GetNumInputBuffers