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

ConfigTypeCommonBufferConfigTypeLogicalAddressLimits时,描述正在创建的通用缓冲区的逻辑地址限制。

LogicalAddressLimits.MinimumAddress

提供所创建公共缓冲区的最小起始逻辑地址。

LogicalAddressLimits.MaximumAddress

提供所创建的公共缓冲区的最大最终逻辑地址。

SubSection

ConfigTypeCommonBufferConfigTypeSubSection时,描述应用于支持创建的公共缓冲区的后盾 MDL 中的子节。

子节只能包含在 MDL 链中的单个 MDL 中。

SubSection.Offset

提供 MDL 中的偏移量,以指示公共缓冲区的起始地址。 必须对齐页面。

SubSection.Length

提供公共缓冲区子节的长度。 必须对齐页面。

HardwareAccessType

ConfigTypeCommonBufferConfigTypeHardwareAccessPermissions时,这是一个 DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE类型化值,描述所创建的公共缓冲区的硬件访问权限。

如果系统上无法访问访问类型,则常见的缓冲区创建将失败。 仅当 DMA 适配器使用 DMA 重新映射时,才允许 ReadOnlyWriteOnly

Reserved[4]

此字段未使用。

言论

扩展配置是 CreateCommonBufferFromMdl 回调例程的可选参数。

如果未提供扩展配置,则常见的缓冲区创建使用整个 MDL 作为后盾内存,最小逻辑地址为零,使用 DMA_ADAPTER 定义的最大逻辑地址。

要求

要求 价值
支持的最低服务器 Windows Server 2022
标头 wdm.h

另请参阅

DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE 枚举

DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE 枚举

PCREATE_COMMON_BUFFER_FROM_MDL 回调例程