функция обратного вызова EVT_UCX_USBDEVICE_DISABLE (ucxusbdevice.h)
Реализация драйвера клиента, вызываемая UCX для освобождения ресурсов контроллера, связанных с устройством и его конечной точкой по умолчанию.
Синтаксис
EVT_UCX_USBDEVICE_DISABLE EvtUcxUsbdeviceDisable;
void EvtUcxUsbdeviceDisable(
[in] UCXCONTROLLER UcxController,
[in] WDFREQUEST Request
)
{...}
Параметры
[in] UcxController
Дескриптор контроллера UCX, который драйвер клиента получил в предыдущем вызове метода UcxControllerCreate .
[in] Request
Структура типа USBDEVICE_DISABLE.
Возвращаемое значение
None
Remarks
Драйвер клиента UCX регистрирует эту функцию обратного вызова в расширении USB-контроллера узла (UCX), вызывая метод UcxUsbDeviceCreate .
Когда драйвер клиента освобождает ресурсы контроллера, он завершает WDFREQUEST. После завершения функции обратного вызова, которую UCX вызывает, ссылаясь на это USB-устройство, EVT_UCX_USBDEVICE_ENABLE.
Пока устройство отключено, UCX не планирует передачу для него.
Чтобы перевести устройство в требуемое состояние, драйвер хост-контроллера взаимодействует с оборудованием для выполнения запроса.
Драйвер клиента возвращает состояние завершения в запросе. Драйвер может выполнять WDFREQUEST асинхронно.
Примеры
VOID
UsbDevice_EvtUcxUsbDeviceDisable(
UCXCONTROLLER UcxController,
WDFREQUEST Request
)
{
UNREFERENCED_PARAMETER(UcxController);
DbgTrace(TL_INFO, UsbDevice, "UsbDevice_EvtUcxUsbDeviceDisable");
WDF_REQUEST_PARAMETERS_INIT(&wdfRequestParams);
WdfRequestGetParameters(WdfRequest, &wdfRequestParams);
usbDeviceDisable = (PUSBDEVICE_DISABLE)wdfRequestParams.Parameters.Others.Arg1;
...
WdfRequestComplete(Request, STATUS_SUCCESS);
}
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Минимальная версия KMDF | 1,0 |
Минимальная версия UMDF | 2,0 |
Верхняя часть | ucxusbdevice.h (включая Ucxclass.h) |
IRQL | DISPATCH_LEVEL |