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