Compartir a través de


estructura DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION (wdm.h)

Define una configuración que describe aún más las restricciones y características al crear un búfer común. El controlador puede proporcionar una matriz de estructuras de DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION en la rutina de devolución de llamada CreateCommonBufferFromMdl .

Sintaxis

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;

Miembros

ConfigType

Valor con tipo DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE que indica el tipo de configuración extendida del búfer común que representa esta instancia.

LogicalAddressLimits

Cuando ConfigType es CommonBufferConfigTypeLogicalAddressLimits, describe los límites de direcciones lógicas para el búfer común que se está creando.

LogicalAddressLimits.MinimumAddress

Proporciona la dirección lógica de inicio mínima (inclusiva) del búfer común que se va a crear.

LogicalAddressLimits.MaximumAddress

Proporciona la dirección lógica final (inclusiva) máxima del búfer común que se va a crear.

SubSection

Cuando ConfigType es CommonBufferConfigTypeSubSection, describe la subsección dentro de una MDL de respaldo que se debe usar para respaldar el búfer común que se va a crear.

Una subsección solo debe estar contenida dentro de una sola MDL en una cadena MDL.

SubSection.Offset

Proporciona el desplazamiento en MDL para indicar la dirección inicial del búfer común. Debe estar alineado con páginas.

SubSection.Length

Proporciona la longitud de la subsección de búfer común. Debe estar alineado con páginas.

HardwareAccessType

Cuando ConfigType es CommonBufferConfigTypeHardwareAccessPermissions, se trata de un valor con tipo DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE que describe los permisos de acceso de hardware para el búfer común que se va a crear.

Se produce un error en la creación del búfer común si el tipo de acceso no es posible en el sistema. ReadOnly y WriteOnly solo están permitidos si el adaptador DMA usa la reasignación de DMA.

Reserved[4]

Este campo no se usa.

Comentarios

Las configuraciones extendidas son un parámetro opcional para la rutina de devolución de llamada CreateCommonBufferFromMdl .

Si no se proporcionan configuraciones extendidas, la creación de búferes comunes usa toda la MDL como memoria de respaldo, con una dirección lógica mínima de cero y una dirección lógica máxima definida por el DMA_ADAPTER que se usa.

Requisitos

Requisito Value
Servidor mínimo compatible Windows Server 2022
Encabezado wdm.h

Consulte también

enumeración DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE

enumeración DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE

rutina de devolución de llamada de PCREATE_COMMON_BUFFER_FROM_MDL