共用方式為


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

另請參閱