EVT_UCX_CONTROLLER_RESET Rückruffunktion (ucxcontroller.h)

Die Implementierung des Clienttreibers, die UCX aufruft, um den Controller zurückzusetzen.

Syntax

EVT_UCX_CONTROLLER_RESET EvtUcxControllerReset;

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

Parameter

[in] UcxController

Ein Handle für den UCX-Controller, den der Clienttreiber bei einem vorherigen Aufruf der UcxControllerCreate-Methode empfangen hat.

Rückgabewert

Keine

Bemerkungen

Der UCX-Clienttreiber registriert seine EVT_UCX_CONTROLLER_RESET Implementierung bei der USB-Hostcontrollererweiterung (UCX), indem er die UcxControllerCreate-Methode aufruft .

Der Clienttreiber gibt den Abschluss dieses Ereignisses an, indem die UcxControllerResetComplete-Methode aufgerufen wird. Dadurch wird sichergestellt, dass UCX nicht ein zweites Mal EVT_UCX_CONTROLLER_RESET aufruft, bevor dieser Ereignisrückruf abgeschlossen ist.

Wenn der Clienttreiber UcxControllerNeedsReset aufruft, ruft UCX diese Ereignisrückruffunktion auf. UCX kann diese Ereignisrückruffunktion jedoch auch aufrufen, wenn der Clienttreiber nicht UcxControllerNeedsReset aufgerufen hat.

Beispiele

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

Anforderungen

Anforderung Wert
Zielplattform Windows
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Kopfzeile ucxcontroller.h (include Ucxclass.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

UcxControllerCreate

UcxControllerNeedsReset

UcxControllerResetComplete