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


структура 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

Если ConfigTypeCommonBufferConfigTypeLogicalAddressLimits, описываются ограничения логического адреса для создаваемого общего буфера.

LogicalAddressLimits.MinimumAddress

Предоставляет минимальный начальный логический адрес создаваемого общего буфера (включительно).

LogicalAddressLimits.MaximumAddress

Предоставляет максимальный (включаемый) конечный логический адрес создаваемого общего буфера.

SubSection

Если ConfigTypeCommonBufferConfigTypeSubSection, описывает подраздел в резервном MDL, который следует использовать для резервного копирования созданного буфера.

Подраздел должен содержаться только в одном MDL в цепочке MDL.

SubSection.Offset

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

SubSection.Length

Предоставляет длину общего подраздела буфера. Должен быть выровнен по страницам.

HardwareAccessType

Если ConfigTypeCommonBufferConfigTypeHardwareAccessPermissions, это 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