UcmTcpciPortControllerStop 関数 (ucmtcpciportcontroller.h)

ポート コントローラー オブジェクトへのハードウェア要求の送信を停止する UcmTcpciCx クラス拡張機能を示します。

構文

void UcmTcpciPortControllerStop(
  UCMTCPCIPORTCONTROLLER PortControllerObject
);

パラメーター

PortControllerObject

UcmTcpciPortControllerCreate の前回の呼び出しでクライアント ドライバーが受信したポート コントローラー オブジェクトを処理します。

戻り値

なし

解説

UcmTcpciPortControllerStop を呼び出した後、クライアント ドライバーはポート コントローラー オブジェクトのすべての要求の処理を停止します。 この呼び出しは同期的であるため、クラス拡張機能がコールバック関数を呼び出したり、返された後に要求を送信したりしないことが保証されます。 ドライバーは、ポート コントローラーのコールバック内で、または取り消し不可能なハードウェア要求が保留中の間に、このメソッドを呼び出す必要があります。

クライアント ドライバーは、 そのEVT_WDF_DEVICE_RELEASE_HARDWARE コールバック実装からこのメソッドを呼び出します。 その後、リソースの再調整にEVT_WDF_DEVICE_RELEASE_HARDWAREが呼び出された場合に備えて、WdfObjectDelete も呼び出す必要があります。 これを行わないと、リソースの再調整が発生したときに、ドライバーはポート コントローラー オブジェクトに関連付けられているオブジェクトをリークさせます。 UCMPORTCONTROLLER ハンドルを WDFDEVICE ハンドルに親付けするだけでは不十分です。これは、リソースの再調整全体で WDFDEVICE が削除されないためです。

ドライバーが S0 アイドル状態のために Dx 状態に移行している場合、ドライバーは、 そのEVT_WDF_DEVICE_D0_EXIT コールバック関数からこのメソッドを呼び出す必要があります。 ドライバーの電源状態との同期は、電源マネージド キューを使用してハードウェア要求を受信することで実現できます。

既に停止しているポート コントローラーで UcmTcpciPortControllerStop を呼び出しても問題ありません。 このメソッドが戻った後は、ポート コントローラーで UcmTcpciPortControllerStart を除く他のメソッドを呼び出す必要はありません。

クライアント ドライバーは、操作中に問題が検出された場合にエラー回復を実行できるように、ポート コントローラー上のすべてのアクションを停止する必要がある場合に、このメソッドを呼び出す必要があります。 回復プロセスが完了したら、ドライバーはポート コントローラーを再起動する必要があります。

コントローラーを停止すると、アクティブな PD コントラクトと Type-C 接続が終了します。

要件

要件
サポートされている最小のクライアント Windows 10
サポートされている最小のサーバー Windows Server 2016
対象プラットフォーム Windows
ヘッダー ucmtcpciportcontroller.h
Library Ucmtcpcicxstub.lib
IRQL PASSIVE_LEVEL

こちらもご覧ください

UcmTcpciPortControllerStart