Partager via


structure DXGKARGCB_MAP_PHYSICAL_MEMORY (d3dkmddi.h)

La structure DXGKARGCB_MAP_PHYSICAL_MEMORY contient les informations utilisées par la fonction de rappel DXGKCB_MAPPHYSICALMEMORY pour mapper une adresse virtuelle visible par le processeur à la mémoire physique sous-jacente.

Syntaxe

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;

Membres

[in] hPhysicalMemoryObject

Objet mémoire physique qui décrit les pages physiques sous-jacentes à mapper. Cet objet a été créé dans un appel antérieur à DXGKCB_CREATEPHYSICALMEMORYOBJECT.

[in] AccessMode

Valeur d’énumération DXGK_ACCESS_MODE qui décrit le mode d’accès (mode utilisateur ou mode noyau) pour lequel le mappage doit être effectué.

[in/out] Offset

En entrée, spécifie le décalage à partir du début de l’objet mémoire physique, en octets. En sortie, spécifie le décalage à partir du début de l’adresse de base mappée où résident les données demandées, en octets. Pour plus d’informations, consultez les remarques.

[in] Size

En entrée, spécifie la taille demandée de la région mappée, en octets. En sortie, spécifie la taille mappée réelle, en octets. Pour plus d’informations, consultez les remarques.

[out] pMappedAddress

Sur un appel réussi à DXGKCB_MAPPHYSICALMEMORY, il s’agit d’un pointeur vers le mappage de mémoire physique sous-jacent. Le début de la plage de mémoire mappée peut ne pas être exactement égal au décalage demandé par le pilote si l’arrondi ou l’alignement a été requis. Par conséquent, la valeur de sortie de offset fait référence au décalage de l’adresse de base aux données demandées par le pilote. Autrement dit, ActualAddress = BaseAddress + Offset.

Remarques

offset et taille sont à la fois des paramètres d’entrée et de sortie. En tant qu’entrée, celles-ci décrivent la région de la mémoire physique demandée par l’appelant. En sortie, ils décrivent la vue mappée réelle. Cela est dû au fait que l’adresse mappée à la mémoire physique correspondante peut ne pas être exactement au décalage demandé. Les données réelles demandées par l’appelant sont égales à pMappedAddress + Offset. La taille de la plage d’adresses virtuelles mappée correspond à la valeur de sortie de Taille, qui peut être supérieure à la taille demandée.

Pour plus d’informations, consultez de remapping IOMMU DMA.

Exigences

Exigence Valeur
serveur minimum pris en charge Windows Server 2022 (WDDM 2.9)
d’en-tête d3dkmddi.h

Voir aussi

DXGK_ACCESS_MODE

DXGKCB_MAPPHYSICALMEMORY