UcmTcpciPortControllerAlert 函式 (ucmtcpciportcontroller.h)
將埠控制器上收到的硬體警示相關信息傳送至UcmTcpciCx。
語法
void UcmTcpciPortControllerAlert(
[in] UCMTCPCIPORTCONTROLLER PortControllerObject,
PUCMTCPCI_PORT_CONTROLLER_ALERT_DATA AlertData,
size_t NumberOfAlerts
);
參數
[in] PortControllerObject
處理用戶端驅動程式在上一次呼叫中收到的埠控制器物件,UcmTcpciPortControllerCreate。
AlertData
UCMTCPCI_PORT_CONTROLLER_ALERT_DATA 陣列的指標,其中包含尚未傳送至UcmTcpciCx的所有目前警示。 這個值不可以是 NULL。
NumberOfAlerts
AlertData 所指向之陣列中的項目數目。 這個值不能是 0。
傳回值
沒有
言論
UcmTcpciPortControllerAlert 如果作業成功,就會傳回STATUS_SUCCESS。 否則,此內嵌函式可能會傳回適當的 NTSTATUS 錯誤碼。
用戶端驅動程序必須呼叫先前透過呼叫 UcmTcpciPortControllerStart啟動的 UcmTcpciPortControllerAlert。
發生硬體警示時,用戶端驅動程式必須判斷警示類型、擷取與該警示相關聯的任何輔助資訊,例如 PD 訊息、填入數位,然後呼叫 UcmTcpciPortControllerAlert。
用戶端驅動程序必須循序報告警示。 驅動程式不得在同時執行的線程上呼叫這個方法,因為可能會導致競爭狀況。 即使類別延伸模組可確保所有內部數據都受到正確鎖定保護,如果驅動程式同時從多個線程呼叫 UcmTcpciPortControllerAlert,且沒有任何外部同步處理,則不保證已接收的警示集是最新的。 若要避免這種情況,驅動程式必須在排入ISR佇列的 中斷服務例程 (ISR) 或 DPC 物件 內呼叫此方法。 ISR 應該正確地同步處理,以便在任何指定時間只執行一個實例。
用戶端驅動程序必須假設類別延伸模組可以在從此呼叫內傳回 UcmTcpciPortControllerAlert 之前提交要求。
處理警示時,UcmTcpciCx 可能會在 UcmTcpciPortControllerAlert 呼叫傳回之前,將硬體要求傳送給用戶端驅動程式。 如果驅動程式在呼叫 UcmTcpciPortControllerAlert 時保留鎖定,而且在處理硬體要求時也會嘗試取得相同的鎖定,可能會發生死結。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 10 |
支援的最低伺服器 | Windows Server 2016 |
目標平臺 | 窗戶 |
標頭 | ucmtcpciportcontroller.h |
IRQL | <=DISPATCH_LEVEL |