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 |