estructura DXGKARGCB_ALLOCATE_ADL (d3dkmddi.h)
DXGKARGCB_ALLOCATE_ADL contiene la información utilizada por la función de devolución de llamada DXGKCB_ALLOCATEADL para crear una lista de descriptores de direcciones (ADL).
Sintaxis
typedef struct _DXGKARGCB_ALLOCATE_ADL {
[in] HANDLE hAdapterMemoryObject;
[in] SIZE_T Offset;
[in] SIZE_T Size;
union {
struct {
UINT32 RequireContiguous : 1;
UINT32 PreferContiguous : 1;
UINT32 Reserved : 30;
};
UINT32 Value;
} Flags;
[out] DXGK_ADL *pAdl;
} DXGKARGCB_ALLOCATE_ADL;
Miembros
[in] hAdapterMemoryObject
Objeto de memoria del adaptador que describe la memoria lógica subyacente utilizada para compilar el ADL. Este objeto se creó a través de DXGKCB_CREATEPHYSICALMEMORYOBJECT o posterior abierto a través de DXGKCB_OPENPHYSICALMEMORYOBJECT.
[in] Offset
Desplazamiento, en bytes, desde el principio del objeto de memoria física. Este valor debe ser un múltiplo de PAGE_SIZE.
[in] Size
Número total de bytes que se van a asignar para el ADL. Este valor debe ser un múltiplo de PAGE_SIZE, de modo que el número de páginas del ADL sea Size/PAGE_SIZE.
Flags
[in] Flags.RequireContiguous
Indica que el controlador solicita un ADL que describe un intervalo contiguo de memoria, en lugar de páginas dispersas. Esta marca solo es válida si el objeto de memoria física representado por hAdapterMemoryObject se asignó como DXGK_PHYSICAL_MEMORY_TYPE_CONTIGUOUS_MEMORY o DXGK_PHYSICAL_MEMORY_TYPE_IO_SPACE.
[in] Flags.PreferContiguous
Proporciona al controlador una manera óptima de solicitar un ADL contiguo siempre que sea posible. Cuando se habilita la reasignación de DMA, las ADL harán referencia a intervalos de espacio de direcciones lógicos; Sin embargo, es posible que los controladores no puedan usar ADL contiguos en todas las rutas de acceso de código. Las ADL no contiguas para la memoria lógica pueden resultar costosas, ya que requieren la asignación de una matriz PFN independiente, similar a una MDL, para representar la memoria. Cuando sea posible, el controlador debe especificar esta marca para indicar que un ADL se puede representar solo con la dirección base.
[in] Flags.Reserved
Reservados; debe establecerse en cero.
[in] Flags.Value
Una manera alternativa de acceder a los bits.
[out] pAdl
En una llamada correcta a DXGKCB_ALLOCATEADL, apunta a la estructura DXGK_ADL con una lista de direcciones de página que se pueden usar para programar el hardware.
Comentarios
Consulte la reasignación de DMA de IOMMU para obtener más información.
Requisitos
Requisito | Value |
---|---|
Servidor mínimo compatible | Windows Server 2022 (WDDM 2.9) |
Encabezado | d3dkmddi.h |