共用方式為


EVT_SERCX2_PIO_TRANSMIT_CLEANUP_TRANSACTION回呼函式 (sercx.h)

EvtSerCx2PioTransmitCleanupTransaction 事件回呼函式是由序列架構延伸模組第 2 版呼叫,以清除 PIO 傳輸交易結束後的序列控制器狀態。

語法

EVT_SERCX2_PIO_TRANSMIT_CLEANUP_TRANSACTION EvtSercx2PioTransmitCleanupTransaction;

void EvtSercx2PioTransmitCleanupTransaction(
  [in] SERCX2PIOTRANSMIT PioTransmit
)
{...}

參數

[in] PioTransmit

PIO 傳輸物件的 SERCX2PIOTRANSMIT 句柄。 序列控制器驅動程式先前稱為 SerCx2PioTransmitCreate 方法來建立這個物件。

傳回值

沒有

言論

您的序列控制器驅動程式可以視需要實作此函式。 如果實作,驅動程式會在 SerCx2PioTransmitCreate 呼叫中註冊函式,以建立 PIO 傳輸物件。

如果您的序列控制器驅動程式需要清除 PIO 傳輸交易結尾的序列控制器狀態,您應該實作 EvtSerCx2PioTransmitCleanupTransaction 函式。 SerCx2 會在 PIO 傳輸交易結束時實作時呼叫此函式。 為了回應 EvtSerCx2PioTransmitCleanupTransaction 呼叫,序列控制器驅動程序必須呼叫 SerCx2PioTransmitCleanupTransactionComplete 方法,以在清除工作完成後通知 SerCx2。

如需詳細資訊,請參閱 SerCx2 PIO-Transmit Transactions

例子

若要定義 EvtSerCx2PioTransmitCleanupTransaction 回呼函式,您必須先提供函式宣告,以識別您要定義的回呼函式類型。 Windows 提供一組驅動程式的回呼函式類型。 使用回呼函式類型宣告函式有助於 驅動程式的程式代碼分析靜態驅動程式驗證器 (SDV)和其他驗證工具尋找錯誤,而且是撰寫 Windows 操作系統驅動程式的需求。

例如,若要定義名為 MyPioTransmitCleanupTransaction 回呼函式,請使用 EVT_SERCX2_PIO_TRANSMIT_CLEANUP_TRANSACTION 函式類型,如下列程式代碼範例所示:

EVT_SERCX2_PIO_TRANSMIT_CLEANUP_TRANSACTION  MyPioTransmitCleanupTransaction;

然後,實作回呼函式,如下所示:

_Use_decl_annotations_
VOID
  MyPioTransmitCleanupTransaction(
    SERCX2PIOTRANSMIT  PioTransmit
    )
  {...}

EVT_SERCX2_PIO_TRANSMIT_CLEANUP_TRANSACTION 函式類型定義於 Sercx.h 頭檔中。 若要在執行程式代碼分析工具時更準確地識別錯誤,請務必將 Use_decl_annotations 批註新增至函式定義。 Use_decl_annotations 批注可確保在頭檔中套用至 EVT_SERCX2_PIO_TRANSMIT_CLEANUP_TRANSACTION 函式類型的批注。 如需函式宣告需求的詳細資訊,請參閱 使用 KMDF 驅動程式的函式角色類型來宣告函式。 如需 Use_decl_annotations的詳細資訊,請參閱 批注函式行為

要求

要求 價值
最低支援的用戶端 從 Windows 8.1 開始提供。
目標平臺 桌面
標頭 sercx.h
IRQL 在 IRQL <= DISPATCH_LEVEL 呼叫。

另請參閱

SERCX2PIOTRANSMIT

SerCx2PioTransmitCleanupTransactionComplete

SerCx2PioTransmitCreate