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