структура IOMMU_MAP_PHYSICAL_ADDRESS (wdm.h)
IOMMU_MAP_PHYSICAL_ADDRESS представляет физический адрес, который должен быть сопоставлен с логическим адресом. Используется IOMMU_MAP_LOGICAL_RANGE_EX и IOMMU_MAP_IDENTITY_RANGE_EX.
Синтаксис
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;
Члены
MapType
Значение IOMMU_MAP_PHYSICAL_ADDRESS_TYPE , указывающее формат, в который представлен физический адрес.
Mdl
Если MapType == MapPhysicalAddressMdl, предоставляет MDL, представляющий физический адрес.
Mdl.Mdl
Указатель на MDL, представляющий физический адрес.
ContiguousRange
Если MapType == MapPhysicalAddressContiguousRange, предоставляет непрерывный физический адрес.
ContiguousRange.Base
Базовый адрес непрерывного физического адреса.
ContiguousRange.Size
Размер непрерывного физического адреса (в байтах).
PfnArray
Если MapType == MapPhysicalAddressPfn, предоставляет массив PFN.
PfnArray.PageFrame
Указатель на массив PFN.
PfnArray.NumberOfPages
Число PFN в массиве PFN.
Комментарии
При сопоставлении физического адреса с помощью IOMMU_MAP_LOGICAL_RANGE_EX или IOMMU_MAP_IDENTITY_RANGE_EX физические адреса должны быть выровнены по 4K страницы и иметь длину страницы 4K.
Требования
Требование | Значение |
---|---|
Минимальная версия сервера | Windows Server 2022 |
Верхняя часть | wdm.h (включая Wdm.h) |