次の方法で共有


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> の入力バッファーのサイズ (バイト単位) が含まれます。 このサイズは sizeof(ULONG) である必要があります。

入力バッファーの長さ

ULONG のサイズ。

出力バッファー

[なし] :

出力バッファーの長さ

[なし] :

ステータス ブロック

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

要件

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

こちらもご覧ください

HidD_GetNumInputBuffers