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->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 を含む) |