функция обратного вызова 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 (include Ucxclass.h)
IRQL DISPATCH_LEVEL