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