функция обратного вызова EVT_UCX_ROOTHUB_INTERRUPT_TX (ucxroothub.h)

Реализация драйвера клиента, вызываемая UCX при получении запроса на получение сведений об измененных портах.

Синтаксис

EVT_UCX_ROOTHUB_INTERRUPT_TX EvtUcxRoothubInterruptTx;

VOID EvtUcxRoothubInterruptTx(
  [in] UCXROOTHUB UcxRootHub,
  [in] WDFREQUEST Request
)
{...}

Параметры

[in] UcxRootHub

Дескриптор объекта UCX, представляющий корневой концентратор.

[in] Request

Содержит URB для запроса на передачу прерываний корневого концентратора.

Возвращаемое значение

Никакой

Замечания

Драйвер клиента UCX регистрирует эту функцию обратного вызова с расширением контроллера USB-узла (UCX), вызвав метод UcxRootHubCreate.

Параметр запроса содержит буфер, в котором каждый бит соответствует порту корневого концентратора с первым битом, соответствующим первому порту. Драйвер клиента задает соответствующий бит, если любой порт изменился, а затем завершает запрос.

Драйвер клиента возвращает состояние завершения запроса.

Примеры

В этом фрагменте показано, как обратный вызов извлекает запрос на передачу прерываний корневого концентратора.

        WDF_REQUEST_PARAMETERS_INIT(&wdfRequestParams);
        WdfRequestGetParameters(WdfRequest, &wdfRequestParams);

        urb = (PURB)wdfRequestParams.Parameters.Others.Arg1;
        transferBuffer = urb->UrbBulkOrInterruptTransfer.TransferBuffer;
        transferBufferLength = urb->UrbBulkOrInterruptTransfer.TransferBufferLength;

Требования

Требование Ценность
целевая платформа Виндоус
минимальная версия KMDF 1.0
минимальная версия UMDF 2.0
заголовка ucxroothub.h (include Ucxclass.h)
IRQL DISPATCH_LEVEL