Поделиться через


структура DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION (wdm.h)

Определяет конфигурацию, которая дополнительно описывает ограничения и функции при создании общего буфера. Драйвер может предоставить массив DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION структур в процедуре обратного вызова CreateCommonBufferFromMdl .

Синтаксис

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 типизированное значение, описывающее разрешения на доступ оборудования для создаваемого общего буфера.

Обычное создание буфера завершается сбоем, если тип доступа в системе невозможен. ReadOnly и WriteOnly допустимы только в том случае, если адаптер DMA использует повторное сопоставление DMA.

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 подпрограмма обратного вызова