structure IOMMU_MAP_PHYSICAL_ADDRESS (wdm.h)

Le IOMMU_MAP_PHYSICAL_ADDRESS représente une adresse physique qui doit être mappée à une adresse logique. Il est utilisé par IOMMU_MAP_LOGICAL_RANGE_EX et IOMMU_MAP_IDENTITY_RANGE_EX.

Syntaxe

typedef struct _IOMMU_MAP_PHYSICAL_ADDRESS {
  IOMMU_MAP_PHYSICAL_ADDRESS_TYPE MapType;
  union {
    struct {
      PMDL Mdl;
    } Mdl;
    struct {
      PHYSICAL_ADDRESS Base;
      SIZE_T           Size;
    } ContiguousRange;
    struct {
      PPFN_NUMBER PageFrame;
      SIZE_T      NumberOfPages;
    } PfnArray;
  };
} IOMMU_MAP_PHYSICAL_ADDRESS, *PIOMMU_MAP_PHYSICAL_ADDRESS;

Membres

MapType

Valeur IOMMU_MAP_PHYSICAL_ADDRESS_TYPE qui indique le format dans lequel l’adresse physique est représentée.

Mdl

Si MapType == MapPhysicalAddressMdl, fournit un MDL qui représente l’adresse physique.

Mdl.Mdl

Pointeur vers le MDL qui représente l’adresse physique.

ContiguousRange

Si MapType == MapPhysicalAddressContiguousRange, fournit une adresse physique contiguë.

ContiguousRange.Base

Adresse de base d’une adresse physique contiguë.

ContiguousRange.Size

Taille, en octets, d’une adresse physique contiguë.

PfnArray

Si MapType == MapPhysicalAddressPfn, fournit un tableau PFN.

PfnArray.PageFrame

Pointeur vers le tableau PFN.

PfnArray.NumberOfPages

Nombre de PFN dans le tableau PFN.

Remarques

Lors du mappage d’une adresse physique à l’aide de IOMMU_MAP_LOGICAL_RANGE_EX ou de IOMMU_MAP_IDENTITY_RANGE_EX, les adresses physiques représentées doivent être alignées sur 4 000 pages et 4 000 longueurs de page.

Configuration requise

Condition requise Valeur
Serveur minimal pris en charge Windows Server 2022
En-tête wdm.h (inclure Wdm.h)

Voir aussi

IOMMU_MAP_LOGICAL_RANGE_EX

IOMMU_MAP_IDENTITY_RANGE_EX

IOMMU_MAP_PHYSICAL_ADDRESS_TYPE