SERCX2_CUSTOM_TRANSMIT_CONFIG結構 (sercx.h)
SERCX2_CUSTOM_TRANSMIT_CONFIG 結構包含序列架構延伸模組第 2 版用來設定新自定義傳輸物件的資訊。
語法
typedef struct _SERCX2_CUSTOM_TRANSMIT_CONFIG {
ULONG Size;
ULONG Alignment;
ULONG MinimumTransactionLength;
ULONG MaximumTransactionLength;
ULONG MinimumTransferUnit;
BOOLEAN Exclusive;
} SERCX2_CUSTOM_TRANSMIT_CONFIG, *PSERCX2_CUSTOM_TRANSMIT_CONFIG;
成員
Size
這個 結構的大小,以位元組為單位。 SerCx2CustomTransmitCreate 方法會使用此成員來判斷呼叫端所使用的結構版本。 此結構的大小可能會在 Sercx.h 頭文件的未來版本中變更。
Alignment
數據對齊需求。 指定自訂傳輸交易中傳輸的起始位址如何在記憶體中對齊。 將此成員設定為 Wdm.h 頭檔中的適當FILE_XXX_ALIGNMENT 常數。 例如,FILE_WORD_ALIGNMENT表示起始位址必須對齊記憶體中的兩個字節界限,FILE_LONG_ALIGNMENT表示地址必須對齊四位元組界限等等。
MinimumTransactionLength
自定義傳輸交易中數據傳輸的最小長度,以位元組為單位。 如果寫入 (IRP_MJ_WRITE) 要求中的緩衝區長度小於此最小長度,則 SerCx2 會針對交易使用已程式化 I/O (PIO)。
MaximumTransactionLength
自定義傳輸交易中數據傳輸的最大長度,以位元組為單位。 如果寫入要求中的緩衝區大小大於此最大長度,則 SerCx2 會使用多個自定義傳輸交易來處理要求,並將每個交易限製為最大長度。
MinimumTransferUnit
最小傳輸單位。 自訂傳輸交易中要傳輸的位元組數目必須是最小傳輸單位的整數倍數。 若要指出應該使用預設最小傳輸單位,請將這個成員設定為零。 如需預設最小傳輸單位的詳細資訊,請參閱 DMA_ADAPTER_INFO_V1。
Exclusive
是否單獨使用自定義傳輸交易來處理寫入(IRP_MJ_WRITE) 要求。 設定為 TRUE,表示寫入要求應該獨佔使用自定義傳輸交易。 設定為 FALSE,表示寫入要求可以使用自定義傳輸交易和 PIO 傳輸交易的組合。
只有當自定義傳輸交易的最小傳輸單位是一個字節、最小交易長度為一個字節時,將此成員設定為 TRUE,而且交易的寫入緩衝區可以在記憶體中的任何位元組界限上啟動。
如果 獨佔為 TRUE,則 MinimumTransferUnit、Alignment和 MinimumTransactionLength 成員必須是零。
言論
SerCx2CustomTransmitCreate 方法接受 SERCX2_CUSTOM_TRANSMIT_CONFIG 結構的指標做為輸入參數。 呼叫 SerCx2CustomTransmitCreate之前,請先呼叫 SERCX2_CUSTOM_TRANSMIT_CONFIG_INIT 函式來初始化這個結構。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 8.1 開始支援。 |
標頭 | sercx.h |