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 |