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


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

См. также раздел

UcxUsbDeviceCreate