DXGKARGCB_MAP_PHYSICAL_MEMORY structure (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 de mémoire physique qui décrit les pages physiques sous-jacentes à mapper. Cet objet a été créé lors d’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 tant qu’entrée, spécifie le décalage par rapport au début de l’objet de mémoire physique, en octets. En tant que sortie, spécifie le décalage par rapport au début de l’adresse de base mappée où résident les données demandées, en octets. Pour plus d'informations, consultez la section Notes.

[in] Size

En tant qu’entrée, spécifie la taille demandée de la région mappée, en octets. En tant que sortie, spécifie la taille mappée réelle, en octets. Pour plus d'informations, consultez la section Notes.

[out] pMappedAddress

Lors d’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 était nécessaire. Par conséquent, la valeur de sortie de Offset fait référence au décalage entre l’adresse de base et les données demandées par le pilote. Autrement dit, ActualAddress = BaseAddress + Offset.

Remarques

Offset et Size sont à la fois des paramètres d’entrée et de sortie. En tant qu’entrée, ceux-ci décrivent la région de mémoire physique demandée par l’appelant. En sortie, ceux-ci décrivent la vue mappée réelle. En effet, 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 seront égales à pMappedAddress + Offset. La taille de la plage d’adresses virtuelles qui a été mappée correspond à la valeur de sortie size, qui peut être supérieure à la taille demandée.

Pour plus d’informations , consultez Remapping IOMMU DMA .

Configuration requise

Condition requise Valeur
Serveur minimal pris en charge Windows Server 2022 (WDDM 2.9)
En-tête d3dkmddi.h

Voir aussi

DXGK_ACCESS_MODE

DXGKCB_MAPPHYSICALMEMORY