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 |