SerCx2CustomTransmitTransactionCreate 函式 (sercx.h)
SerCx2CustomTransmitTransactionCreate 方法會建立自定義傳輸交易物件,這是序列架構延伸模組 (SerCx2) 第 2 版用來執行自定義傳輸交易。
語法
NTSTATUS SerCx2CustomTransmitTransactionCreate(
[in] SERCX2CUSTOMTRANSMIT CustomTransmit,
[in] PSERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG CustomTransmitTransactionConfig,
[in] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] SERCX2CUSTOMTRANSMITTRANSACTION *CustomTransmitTransaction
);
參數
[in] CustomTransmit
自訂傳輸物件的 SERCX2CUSTOMTRANSMIT 句柄。 序列控制器驅動程式先前稱為 SerCx2CustomTransmitCreate 方法來建立此物件。
[in] CustomTransmitTransactionConfig
SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG 結構的指標。 呼叫此方法之前,呼叫端必須呼叫 SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG_INIT 函式來初始化 結構。 此結構包含序列控制器驅動程式所實作之一組事件回呼例程的指標。 SerCx2 會呼叫這些函式來執行 I/O 交易,該交易會使用自定義數據傳輸機制將數據寫入要傳輸的序列控制器。
[in] Attributes
WDF_OBJECT_ATTRIBUTES 結構的指標,描述要指派給新自定義傳輸交易對象的屬性。 呼叫此方法之前,呼叫端必須呼叫 WDF_OBJECT_ATTRIBUTES_INIT 函式來初始化 結構。 此參數是選擇性的,如果序列控制器驅動程式不需要將屬性指派給物件,則可以指定為WDF_NO_OBJECT_ATTRIBUTES。 如需詳細資訊,請參閱。
[out] CustomTransmitTransaction
這個方法將 SERCX2CUSTOMTRANSMITTRANSACTION 句柄寫入新建立之自定義傳輸交易物件的位置指標。 SerCx2 和序列控制器驅動程式會在後續呼叫中使用這個句柄來參考這個物件。
傳回值
如果呼叫成功,這個方法會傳回STATUS_SUCCESS。 可能的錯誤傳回值包括下列狀態代碼。
傳回碼 | 描述 |
---|---|
|
先前 SerCx2CustomTransmitTransactionCreate 呼叫已有自定義傳輸交易物件。 |
|
CustomTransmitTransactionConfig->Size 值不等於 sizeof(SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG)。 |
|
參數值無效。 呼叫端必須提供有效的 EvtSerCx2CustomTransmitTransactionStart 函式指標。 |
|
資源不足,無法建立自定義傳輸交易物件。 |
言論
您的序列控制器驅動程式可以呼叫此方法來建立自定義傳輸交易物件。 SerCx2 會使用此物件來管理自定義傳輸交易,這些交易是使用自定義數據傳輸機制將數據寫入要傳輸的序列控制器的 I/O 交易。
作為選項,序列控制器驅動程式可以使用 Attributes 參數來建立自定義傳輸物件的內容,並提供指標給 EvtCleanupCallback 和 EvtDestroyCallback 函式,以準備刪除物件。 如需詳細資訊,請參閱 WDF_OBJECT_ATTRIBUTES。
如果 屬性 參數指向 WDF_OBJECT_ATTRIBUTES 結構,呼叫端不得覆寫 WDF_OBJECT_ATTRIBUTES_INIT 初始化函式寫入至 ParentObject、ExecutionLevel和 SynchronizationScope 成員的值。
如果實作回呼函式的指定組合無效,SerCx2CustomTransmitTransactionCreate 會失敗並傳回STATUS_INVALID_PARAMETER。
如需建立自訂傳輸交易物件的詳細資訊,請參閱 SERCX2CUSTOMTRANSMITTRANSACTION。 如需自定義傳輸交易的詳細資訊,請參閱 SerCx2 Custom-Transmit Transactions。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 8.1 開始提供。 |
目標平臺 | 普遍 |
標頭 | sercx.h |
IRQL | PASSIVE_LEVEL |
另請參閱
EvtSerCx2CustomTransmitTransactionStart
SERCX2CUSTOMTRANSMITTRANSACTION
SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG