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


функция обратного вызова EVT_UCX_CONTROLLER_RESET (ucxcontroller.h)

Реализация драйвера клиента, которую UCX вызывает для сброса контроллера.

Синтаксис

EVT_UCX_CONTROLLER_RESET EvtUcxControllerReset;

void EvtUcxControllerReset(
  [in] UCXCONTROLLER UcxController
)
{...}

Параметры

[in] UcxController

Дескриптор контроллера UCX, который драйвер клиента получил при предыдущем вызове метода UcxControllerCreate .

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

None

Remarks

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

Драйвер клиента указывает на завершение этого события путем вызова метода UcxControllerResetComplete . Это гарантирует, что UCX не вызовет EVT_UCX_CONTROLLER_RESET второй раз до завершения обратного вызова этого события.

Если драйвер клиента вызывает UcxControllerNeedsReset, UCX вызывает эту функцию обратного вызова события. Однако UCX может вызывать эту функцию обратного вызова события, даже если драйвер клиента не вызвал UcxControllerNeedsReset.

Примеры

VOID
Controller_EvtControllerReset(
    UCXCONTROLLER UcxController
)

{
    UCX_CONTROLLER_RESET_COMPLETE_INFO controllerResetCompleteInfo;

    //
    // TODO: Reset the controller
    //

    //
    // TODO: Were devices and endpoints programmed in the controller before the reset
    // still programmed in the controller after the reset?
    //
    UCX_CONTROLLER_RESET_COMPLETE_INFO_INIT(&controllerResetCompleteInfo,
                                            UcxControllerStateLost,
                                            TRUE); // reset due to UCX, received EvtReset after WDF power-up

    DbgTrace(TL_INFO, Controller, "Controller_EvtControllerReset");

    UcxControllerResetComplete(UcxController, &controllerResetCompleteInfo);
}

Требования

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

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

UcxControllerCreate

UcxControllerNeedsReset

UcxControllerResetComplete