EVT_SERCX2_PIO_RECEIVE_CANCEL_READY_NOTIFICATION回呼函式 (sercx.h)
EvtSerCx2PioReceiveCancelReadyNotification 事件回呼函式是由序列架構延伸模組 (SerCx2) 第 2 版呼叫,以取消先前呼叫 EvtSerCx2PioReceiveEnableReadyNotification 事件回呼函式中啟用 SerCx2 的就緒通知。
語法
EVT_SERCX2_PIO_RECEIVE_CANCEL_READY_NOTIFICATION EvtSercx2PioReceiveCancelReadyNotification;
BOOLEAN EvtSercx2PioReceiveCancelReadyNotification(
[in] SERCX2PIORECEIVE PioReceive
)
{...}
參數
[in] PioReceive
PIO 接收物件的 SERCX2PIORECEIVE 句柄。 序列控制器驅動程式先前稱為 SerCx2PioReceiveCreate 方法來建立這個物件。
傳回值
EvtSerCx2PioReceiveCancelReadyNotification 函式會傳回 TRUE 如果已順利停用通知,而且序列控制器驅動程式可以保證不會呼叫 SerCx2PioReceiveReady 方法。 如果驅動程式已經呼叫 SerCx2PioReceiveReady,或即將呼叫此方法,則函式會傳回 FALSE。
言論
您的序列控制器驅動程序必須實作此函式。 驅動程式會在 SerCx2PioReceiveCreate 呼叫中註冊函式,以建立 PIO-receive 物件。
如果相關聯的讀取要求在啟用就緒通知時逾時或取消,SerCx2 會呼叫 EvtSerCx2PioReceiveCancelReadyNotification 函式來取消擱置的通知。 如果此呼叫傳回 FALSE,SerCx2 預期序列控制器驅動程式會呼叫 SerCx2PioReceiveReady;只有在此呼叫之後,SerCx2 才會呼叫 EvtSerCx2PioReceiveCleanupTransaction 事件回呼函式,如果已實作,並完成要求。
若要取消就緒的通知,EvtSerCx2PioReceiveCancelReadyNotification 函式通常會停用序列控制器中的中斷,指出可從接收 FIFO 讀取更多數據。 此中斷是由先前呼叫 EvtSerCx2PioReceiveEnableReadyNotification 函式所啟用。
如需詳細資訊,請參閱 SerCx2 PIO-Receive Transactions。
例子
若要定義 EvtSerCx2PioReceiveCancelReadyNotification 回呼函式,您必須先提供函式宣告,以識別您要定義的回呼函式類型。 Windows 提供一組驅動程式的回呼函式類型。 使用回呼函式類型宣告函式有助於 驅動程式的程式代碼分析、靜態驅動程式驗證器 (SDV)和其他驗證工具尋找錯誤,而且是撰寫 Windows 操作系統驅動程式的需求。
例如,若要定義名為 的 MyPioReceiveCancelReadyNotification
回呼函式,請使用 EVT_SERCX2_PIO_RECEIVE_CANCEL_READY_NOTIFICATION 函式類型,如下列程式代碼範例所示:
EVT_SERCX2_PIO_RECEIVE_CANCEL_READY_NOTIFICATION MyPioReceiveCancelReadyNotification;
然後,實作回呼函式,如下所示:
_Use_decl_annotations_
BOOLEAN
MyPioReceiveCancelReadyNotification(
SERCX2PIORECEIVE PioReceive
)
{...}
EVT_SERCX2_PIO_RECEIVE_CANCEL_READY_NOTIFICATION 函式類型定義於 Sercx.h 頭檔中。 若要在執行程式代碼分析工具時更準確地識別錯誤,請務必將 Use_decl_annotations 批註新增至函式定義。 Use_decl_annotations 批注可確保會使用套用至頭檔中 EVT_SERCX2_PIO_RECEIVE_CANCEL_READY_NOTIFICATION 函式類型的批注。 如需函式宣告需求的詳細資訊,請參閱 使用 KMDF 驅動程式的函式角色類型來宣告函式。 如需 Use_decl_annotations的詳細資訊,請參閱 批注函式行為。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 8.1 開始提供。 |
目標平臺 | 桌面 |
標頭 | sercx.h |
IRQL | 在 IRQL <= DISPATCH_LEVEL 呼叫。 |