estructura de DXGKARGCB_MAP_PHYSICAL_MEMORY (d3dkmddi.h)
La estructura DXGKARGCB_MAP_PHYSICAL_MEMORY contiene la información utilizada por la función de devolución de llamada DXGKCB_MAPPHYSICALMEMORY para asignar una dirección virtual visible para cpu a la memoria física subyacente.
Sintaxis
typedef struct _DXGKARGCB_MAP_PHYSICAL_MEMORY {
[in] HANDLE hPhysicalMemoryObject;
[in] DXGK_ACCESS_MODE AccessMode;
[in/out] SIZE_T Offset;
[in] SIZE_T Size;
[out] void *pMappedAddress;
} DXGKARGCB_MAP_PHYSICAL_MEMORY;
Miembros
[in] hPhysicalMemoryObject
Objeto de memoria física que describe las páginas físicas subyacentes que se van a asignar. Este objeto se creó en una llamada anterior a DXGKCB_CREATEPHYSICALMEMORYOBJECT.
[in] AccessMode
Valor de enumeración DXGK_ACCESS_MODE que describe el modo de acceso (modo de usuario o modo kernel) para el que se debe realizar la asignación.
[in/out] Offset
Como entrada, especifica el desplazamiento desde el principio del objeto de memoria física, en bytes. Como salida, especifica el desplazamiento desde el principio de la dirección base asignada donde residen los datos solicitados, en bytes. Vea Comentarios para obtener más información.
[in] Size
Como entrada, especifica el tamaño solicitado de la región asignada, en bytes. Como salida, especifica el tamaño asignado real, en bytes. Vea Comentarios para obtener más información.
[out] pMappedAddress
En una llamada correcta a DXGKCB_MAPPHYSICALMEMORY, se trata de un puntero a la asignación de memoria física subyacente. Es posible que el inicio del intervalo de memoria asignado no sea exactamente igual al desplazamiento solicitado por el controlador si se requiere redondeo o alineación. Como resultado, el valor de salida de Offset hace referencia al desplazamiento de la dirección base a los datos solicitados por el controlador. Es decir, ActualAddress = BaseAddress + Offset.
Comentarios
Offset y Size son parámetros de entrada y salida. Como entrada, describen la región de memoria física solicitada por el autor de la llamada. En la salida, describen la vista asignada real. Esto se debe a que la dirección asignada a la memoria física correspondiente puede no estar exactamente en el desplazamiento solicitado. Los datos reales solicitados por el autor de la llamada serán iguales a pMappedAddress + Offset. El tamaño del intervalo de direcciones virtuales asignado será el valor de salida de Size, que puede ser mayor que el tamaño solicitado.
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 |