다음을 통해 공유


EVT_UCX_CONTROLLER_RESET 콜백 함수(ucxcontroller.h)

UCX가 컨트롤러를 다시 설정하기 위해 호출하는 클라이언트 드라이버의 구현입니다.

구문

EVT_UCX_CONTROLLER_RESET EvtUcxControllerReset;

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

매개 변수

[in] UcxController

UcxControllerCreate 메서드에 대한 이전 호출에서 클라이언트 드라이버가 받은 UCX 컨트롤러에 대한 핸들입니다.

반환 값

없음

설명

UCX 클라이언트 드라이버는 UcxControllerCreate메서드를 호출하여 EVT_UCX_CONTROLLER_RESET 구현을 UCX(USB 호스트 컨트롤러 확장)에 등록합니다.

클라이언트 드라이버는 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