Compartilhar via


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