IOCTL_USB_START_TRACKING_FOR_TIME_SYNC IOCTL (usbioctl.h)
Этот запрос регистрирует вызывающий объект в стеке USB-драйверов для служб синхронизации времени.
Указатель на структуру USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION. При входных данных вызывающий объект должен задать для элемента timeTrackingHandle значение NULL TimeTrackingHandle. В выходных данных стек USB-драйверов задает элемент TimeTrackingHandle дескриптором, который отслеживает операцию служб синхронизации.
Размер структуры USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION.
Irp->IoStatus.Status STATUS_SUCCESS, если запрос выполнен успешно. В противном случае состояния указывает соответствующее условие ошибки в виде кода NTSTATUS.
После завершения этого запроса IOCTL стек USB-драйвера позволяет определенным прерываниям от контроллера узла отслеживать ближайшие границы кадра или микрофрейма, чтобы предсказать значение QPC системы с точностью. Включение аппаратных прерываний добавляет затраты на потребление энергии, так как ЦП просыпается каждые 2,048 секунды при работе в состоянии питания D0. Поэтому мы рекомендуем вызывающему объекту зарегистрировать службы синхронизации времени только при необходимости.
Стек драйверов отключает эти прерывания при получении и завершении запроса IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC.
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 10 версии 1709 |
минимальный поддерживаемый сервер | Windows Server 2016 |
заголовка | usbioctl.h |
IRQL | <= DISPATCH_LEVEL |
создание запросов IOCTL в драйверах
WdfIoTargetSendInternalIoctlOthersSynchronously