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