EVT_UCX_CONTROLLER_RESET回调函数 (ucxcontroller.h)

UCX 调用以重置控制器的客户端驱动程序实现。

语法

EVT_UCX_CONTROLLER_RESET EvtUcxControllerReset;

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

参数

[in] UcxController

客户端驱动程序在对 UcxControllerCreate 方法的上一次调用中收到的 UCX 控制器的句柄。

返回值

没有

言论

UCX 客户端驱动程序通过调用 UcxControllerCreate 方法,向 USB 主机控制器扩展(UCX)注册其 EVT_UCX_CONTROLLER_RESET 实现。

客户端驱动程序通过调用 UcxControllerResetComplete 方法指示完成此事件。 这样做可确保在完成此事件回调之前,UCX 不会再次调用 EVT_UCX_CONTROLLER_RESET

如果客户端驱动程序调用 UcxControllerNeedsReset,UCX 将调用此事件回调函数。 但是,即使客户端驱动程序尚未调用 UcxControllerNeedsReset,UCX 也可以调用此事件回调函数。

例子

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);
}

要求

要求 价值
目标平台 窗户
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
标头 ucxcontroller.h (include Ucxclass.h)
IRQL PASSIVE_LEVEL

另请参阅

UcxControllerCreate

UcxControllerNeedsReset

UcxControllerResetComplete