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