Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

IOMMU_MAP_PHYSICAL_ADDRESS structure (wdm.h)

The IOMMU_MAP_PHYSICAL_ADDRESS represents a physical address that is to be mapped to a logical address. It is used by IOMMU_MAP_LOGICAL_RANGE_EX and IOMMU_MAP_IDENTITY_RANGE_EX.

Syntax

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;

Members

MapType

A IOMMU_MAP_PHYSICAL_ADDRESS_TYPE value that indicates the format the physical address is represented in.

Mdl

If MapType == MapPhysicalAddressMdl, provides a MDL that represents the physical address.

Mdl.Mdl

The pointer to the MDL that represents the physical address.

ContiguousRange

If MapType == MapPhysicalAddressContiguousRange, provides a contiguous physical address.

ContiguousRange.Base

The base address of a contiguous physical address.

ContiguousRange.Size

The size, in bytes, of a contiguous physical address.

PfnArray

If MapType == MapPhysicalAddressPfn, provides a PFN array.

PfnArray.PageFrame

The pointer to the PFN array.

PfnArray.NumberOfPages

The number of PFNs in the PFN array.

Remarks

When mapping a physical address using IOMMU_MAP_LOGICAL_RANGE_EX or IOMMU_MAP_IDENTITY_RANGE_EX, the physical addresses represented must be 4K page aligned and 4K page length.

Requirements

Requirement Value
Minimum supported server Windows Server 2022
Header wdm.h (include Wdm.h)

See also

IOMMU_MAP_LOGICAL_RANGE_EX

IOMMU_MAP_IDENTITY_RANGE_EX

IOMMU_MAP_PHYSICAL_ADDRESS_TYPE


Feedback

Was this page helpful?

Additional resources