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 の