estrutura DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION (wdm.h)
Define uma configuração que descreve ainda mais restrições e recursos ao criar um buffer comum. O driver pode fornecer uma matriz de estruturas de DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION no CreateCommonBufferFromMdl rotina de retorno de chamada.
Sintaxe
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;
Membros
ConfigType
Um valor tipo DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPEque indica o tipo de configuração estendida de buffer comum que essa instância representa.
LogicalAddressLimits
Quando ConfigType é CommonBufferConfigTypeLogicalAddressLimits, descreve os limites de endereço lógico para o buffer comum que está sendo criado.
LogicalAddressLimits.MinimumAddress
Fornece o endereço lógico inicial mínimo (inclusivo) do buffer comum que está sendo criado.
LogicalAddressLimits.MaximumAddress
Fornece o endereço lógico final máximo (inclusivo) do buffer comum que está sendo criado.
SubSection
Quando ConfigType é CommonBufferConfigTypeSubSection, descreve a subseção em um MDL de backup que deve ser usado para apoiar o buffer comum que está sendo criado.
Uma subseção só deve ser contida em um único MDL em uma cadeia de MDL.
SubSection.Offset
Fornece o deslocamento para o MDL para indicar o endereço inicial do buffer comum. Deve estar alinhado à página.
SubSection.Length
Fornece o comprimento da subseção de buffer comum. Deve estar alinhado à página.
HardwareAccessType
Quando ConfigType é CommonBufferConfigTypeHardwareAccessPermissions, esse é um valor DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPEdigitado que descreve as permissões de acesso de hardware para o buffer comum que está sendo criado.
A criação de buffer comum falhará se o tipo de acesso não for possível no sistema. ReadOnly e WriteOnly só serão permitidos se o Adaptador DMA estiver usando o Remapeamento de DMA.
Reserved[4]
Este campo não é utilizado.
Observações
As configurações estendidas são um parâmetro opcional para a rotina de retorno de chamada CreateCommonBufferFromMdl.
Se nenhuma configuração estendida for fornecida, a criação de buffer comum usará todo o MDL como memória de backup, com um endereço lógico mínimo de zero e um endereço lógico máximo definido pelo DMA_ADAPTER sendo usado.
Requisitos
Requisito | Valor |
---|---|
servidor com suporte mínimo | Windows Server 2022 |
cabeçalho | wdm.h |
Consulte também
enumeração DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE
enumeração DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE
PCREATE_COMMON_BUFFER_FROM_MDL rotina de retorno de chamada