UcmTcpciPortControllerStop 函式 (ucmtcpciportcontroller.h)
向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 |
目標平台 | Windows |
標頭 | ucmtcpciportcontroller.h |
程式庫 | Ucmtcpcicxstub.lib |
IRQL | PASSIVE_LEVEL |