функция обратного вызова 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 |