estrutura IOMMU_MAP_PHYSICAL_ADDRESS (wdm.h)

O IOMMU_MAP_PHYSICAL_ADDRESS representa um endereço físico que deve ser mapeado para um endereço lógico. Ele é usado por IOMMU_MAP_LOGICAL_RANGE_EX e IOMMU_MAP_IDENTITY_RANGE_EX.

Sintaxe

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;

Membros

MapType

Um valor IOMMU_MAP_PHYSICAL_ADDRESS_TYPE que indica o formato no qual o endereço físico está representado.

Mdl

Se MapType == MapPhysicalAddressMdl, fornecerá um MDL que representa o endereço físico.

Mdl.Mdl

O ponteiro para o MDL que representa o endereço físico.

ContiguousRange

Se MapType == MapPhysicalAddressContiguousRange, fornecerá um endereço físico contíguo.

ContiguousRange.Base

O endereço base de um endereço físico contíguo.

ContiguousRange.Size

O tamanho, em bytes, de um endereço físico contíguo.

PfnArray

Se MapType == MapPhysicalAddressPfn, fornecerá uma matriz PFN.

PfnArray.PageFrame

O ponteiro para a matriz PFN.

PfnArray.NumberOfPages

O número de PFNs na matriz PFN.

Comentários

Ao mapear um endereço físico usando IOMMU_MAP_LOGICAL_RANGE_EX ou IOMMU_MAP_IDENTITY_RANGE_EX, os endereços físicos representados devem ter 4K de página alinhada e 4K de comprimento de página.

Requisitos

Requisito Valor
Servidor mínimo com suporte Windows Server 2022
Cabeçalho wdm.h (inclua Wdm.h)

Confira também

IOMMU_MAP_LOGICAL_RANGE_EX

IOMMU_MAP_IDENTITY_RANGE_EX

IOMMU_MAP_PHYSICAL_ADDRESS_TYPE