DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION 結構 (wdm.h)
定義設定,以進一步描述建立通用緩衝區時的條件約束和功能。 驅動程式可以在 CreateCommonBufferFromMdl 回呼例程中提供DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION結構的陣列。
語法
typedef struct _DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION {
DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE ConfigType;
union {
struct {
PHYSICAL_ADDRESS MinimumAddress;
PHYSICAL_ADDRESS MaximumAddress;
} LogicalAddressLimits;
struct {
ULONGLONG Offset;
ULONG Length;
} SubSection;
DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE HardwareAccessType;
ULONGLONG Reserved[4];
};
} DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION, *PDMA_COMMON_BUFFER_EXTENDED_CONFIGURATION;
成員
ConfigType
DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE型別值,指出這個實例所代表的一般緩衝區擴充組態類型。
LogicalAddressLimits
當 ConfigType 是 CommonBufferConfigTypeLogicalAddressLimits 時,描述所建立之通用緩衝區的邏輯位址限制。
LogicalAddressLimits.MinimumAddress
提供 (內含) 所建立常見緩衝區的最小起始邏輯位址。
LogicalAddressLimits.MaximumAddress
提供 (內含) 所建立之常見緩衝區的最終邏輯位址上限。
SubSection
當 ConfigType 是 CommonBufferConfigTypeSubSection 時,描述備份 MDL 內的子區段,該子區段應該用來備份所建立的通用緩衝區。
子區段只能包含在 MDL 鏈結中的單一 MDL 內。
SubSection.Offset
提供 MDL 中的位移,以指出通用緩衝區的起始位址。 必須對齊頁面。
SubSection.Length
提供通用緩衝區子區段的長度。 必須對齊頁面。
HardwareAccessType
當 ConfigType 是 CommonBufferConfigTypeHardwareAccessPermissions 時,這是 一個DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE類型的值,描述所建立之通用緩衝區的硬體訪問許可權。
如果系統上無法存取類型,常見的緩衝區建立就會失敗。 只有在 DMA 配接器使用 DMA 重新對應時,才允許 ReadOnly 和 WriteOnly。
Reserved[4]
此欄位未使用。
備註
擴充組態是 CreateCommonBufferFromMdl 回呼例程的選擇性參數。
如果未提供任何擴充組態,常見的緩衝區建立會使用整個 MDL 做為支援記憶體,且最小邏輯位址為零,以及所使用 之DMA_ADAPTER 所定義的邏輯位址上限。
規格需求
需求 | 值 |
---|---|
最低支援的伺服器 | Windows Server 2022 |
標頭 | wdm.h |
另請參閱
DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE 列舉