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 枚举