次の方法で共有


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_MJ_DEVICE_CONTROL

[入力バッファー]

IRP の I/O スタック位置の Parameters.DeviceIoControl.InputBufferLength は、入力バッファーのサイズ (バイト単位) を示します。このサイズは >sizeof(ULONG) である必要があります。

Irp->AssociatedIrp.SystemBuffer には、新しいポーリング間隔が含まれています。

入力バッファーの長さ

sizeof(ULONG) 以上の値。

出力バッファー

[なし] :

出力バッファーの長さ

[なし] :

ステータス ブロック

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

要件

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

こちらもご覧ください

IOCTL_HID_GET_POLL_FREQUENCY_MSEC