次の方法で共有


UcmTcpciPortControllerStop 関数 (ucmtcpciportcontroller.h)

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

構文

void UcmTcpciPortControllerStop(
  UCMTCPCIPORTCONTROLLER PortControllerObject
);

パラメーター

PortControllerObject

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

戻り値

何一つ

備考

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

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

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

既に停止しているポート コントローラー UcmTcpciPortControllerStop を呼び出しても安全です。 このメソッドから制御が戻った後は、UcmTcpciPortControllerStart 以外のメソッドはポート コントローラーで呼び出すことができます。

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

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

必要条件

要件 価値
サポートされる最小クライアント Windows 10
サポートされる最小サーバー Windows Server 2016
ターゲット プラットフォーム ウィンドウズ
ヘッダー ucmtcpciportcontroller.h
ライブラリ Ucmtcpcicxstub.lib
IRQL PASSIVE_LEVEL

関連項目

UcmTcpciPortControllerStart