次の方法で共有


IOCTL_USB_START_TRACKING_FOR_TIME_SYNC IOCTL (usbioctl.h)

この要求により、呼び出し元が時間同期サービスの USB ドライバー スタックに登録されます。

メジャー コード

IRP_MJ_DEVICE_CONTROL

入力/出力バッファー

USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION構造体へのポインター。 入力時に、呼び出し元は TimeTrackingHandle メンバーを NULL に設定する必要があります。 出力時に、USB ドライバー スタックは TimeTrackingHandle メンバーを 、同期サービス操作を追跡するハンドルに設定します。

入力/出力バッファーの長さ

USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION構造体のサイズ。

ステータス ブロック

Irp->要求が成功した場合、IoStatus.Status はSTATUS_SUCCESSに設定されます。 それ以外の場合、 StatusNTSTATUS コードとして適切なエラー条件を示します。

注釈

この IOCTL 要求が完了すると、USB ドライバー スタックを使用すると、ホスト コントローラーからの特定の割り込みを有効にして、システムの QPC 値を正確に予測するために、最も近いフレーム/マイクロフレーム境界を追跡できます。 ハードウェア割り込みを有効にすると、D0 電源状態で作業するときに CPU が 2.048 秒ごとに起動するため、電力消費量にオーバーヘッドが増加します。 そのため、呼び出し元は、必要な場合にのみ時間同期サービスに登録することをお勧めします。

ドライバー スタックは、 IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC 要求を受信して完了すると、これらの割り込みを無効にします。

要件

要件
サポートされている最小のクライアント Windows 10 バージョン 1709
サポートされている最小のサーバー Windows Server 2016
Header usbioctl.h
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

ドライバー内での IOCTL 要求の作成

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously