Поделиться через


функция обратного вызова 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 для запроса на передачу прерываний корневого концентратора.

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

None

Remarks

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

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

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

Примеры

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

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

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

Требования

Требование Значение
Целевая платформа Windows
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть ucxroothub.h (включая Ucxclass.h)
IRQL DISPATCH_LEVEL