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

Consulte también

DXGK_ACCESS_MODE

DXGKCB_MAPPHYSICALMEMORY