指示UcmTcpciCx類別延伸模組停止將硬體要求傳送至埠控制器物件。
語法
VOID UcmTcpciPortControllerStop(
UCMTCPCIPORTCONTROLLER PortControllerObject
);
參數
PortControllerObject
處理用戶端驅動程式在上一次呼叫中收到的埠控制器物件,UcmTcpciPortControllerCreate。
傳回值
沒有
言論
呼叫 UcmTcpciPortControllerStop之後,用戶端驅動程式會停止處理埠控制器物件上的所有要求。 此呼叫是同步的,因此保證類別延伸模組不會在傳回後叫用回呼函式或傳送要求。 驅動程式不得在埠控制器回呼內呼叫這個方法,或是任何無法取消的硬體要求擱置時。
用戶端驅動程式會從其 EVT_WDF_DEVICE_RELEASE_HARDWARE 回呼實作呼叫這個方法。 這麼做之後,也應該呼叫 WdfObjectDelete,以防 EVT_WDF_DEVICE_RELEASE_HARDWARE 叫用至資源重新平衡。 若無法這麼做,當資源重新平衡發生時,驅動程式會洩漏與埠控制器對象相關聯的物件。 將 UCMPORTCONTROLLER 句柄父系至 WDFDEVICE 句柄是不夠的,因為 WDFDEVICE 不會在資源重新平衡之間刪除。
如果驅動程式因為 S0-Idle 而轉換至 Dx 狀態,則驅動程式不得從其 EVT_WDF_DEVICE_D0_EXIT 回呼函式呼叫此方法。 您可以使用電源受控佇列來接收硬體要求,以達到與驅動程式電源狀態的同步處理。
安全地在已停止的埠控制器上呼叫 UcmTcpciPortControllerStop。 這個方法傳回之後,除了 UcmTcpciPortControllerStart 之外,沒有其他方法可以在埠控制器上呼叫。
如果客戶端驅動程式需要停止埠控制器上的所有動作,用戶端驅動程式必須呼叫此方法,以便在作業期間偵測到任何問題時執行錯誤復原。 完成復原程式之後,驅動程式必須重新啟動埠控制器。
停止控制器會結束任何使用中的 PD 合約和 Type-C 連線。
要求
| 要求 | 價值 |
|---|---|
| 最低支援的用戶端 | Windows 10 |
| 支援的最低伺服器 | Windows Server 2016 |
| 目標平臺 | 窗戶 |
| 標頭 | ucmtcpciportcontroller.h |
| 連結庫 | Ucmtcpcicxstub.lib |
| IRQL | PASSIVE_LEVEL |