次の方法で共有


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実装を USB ホスト コントローラー拡張機能 (UCX) に登録します。

クライアント ドライバーは、 UcxControllerResetComplete メソッドを呼び出すことによって、このイベントの完了を示します。 これにより、UCX は、このイベント コールバックが完了 する前EVT_UCX_CONTROLLER_RESET 2 回目の呼び出しが行われないようにします。

クライアント ドライバーが 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
Header ucxcontroller.h (Ucxclass.h を含む)
IRQL PASSIVE_LEVEL

こちらもご覧ください

UcxControllerCreate

UcxControllerNeedsReset

UcxControllerResetComplete