IOCTL_HID_SET_POLL_FREQUENCY_MSEC IOCTL (hidclass.h)
IOCTL_HID_SET_POLL_FREQUENCY_MSEC要求は、最上位のコレクションのポーリング頻度をミリ秒単位で設定します。
ポーリングされたデバイスで不規則で日和見的な読み取りを実行するユーザー モード アプリケーションまたはカーネル モード ドライバーは、ポーリング間隔を 0 に設定する必要があります。 このような場合、IOCTL_HID_SET_POLL_FREQUENCY_MSECは実際にはデバイスのポーリング頻度を変更しません。ただし、レポート データが読み取り時に古くない場合は、指定されたコレクションの最新のレポート データを使用してすぐに読み取りが完了します。 レポート データが古い場合は、ポーリング間隔の有効期限を待たずにすぐに更新され、新しいデータで読み取りが完了します。
IRP で提供されるポーリング間隔の値が 0 でない場合は、>= MIN_POLL_INTERVAL_MSEC、<= MAX_POLL_INTERVAL_MSECである必要があります。
最上位レベルのコレクションが複数ある場合、ポーリングは制限される場合があります。
HIDClass デバイスの一般的な情報については、「HID コレクションの 」を参照してください。
メジャー コード
入力バッファー
IRP の I/O スタック位置の Parameters.DeviceIoControl.InputBufferLength は、入力バッファーのサイズ (バイト単位) を示します。これは、>= sizeof(ULONG) である必要があります。
Irp->AssociatedIrp.SystemBuffer には、新しいポーリング間隔が含まれています。
入力バッファーの長さ
の sizeof (ULONG)以上の値。
出力バッファー
何一つ。
出力バッファーの長さ
何一つ。
状態ブロック
HID クラス ドライバーは、Irp->IoStatus の 状態 メンバーを、転送がエラーなしで完了した場合にSTATUS_SUCCESSに設定します。 それ以外の場合は、適切な NTSTATUS エラー コードに設定されます。
必要条件
要件 | 価値 |
---|---|
ヘッダー | hidclass.h (Hidclass.h を含む) |