IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT structure (wdm.h)

The IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT represents a mapped portion of an IOMMU_DMA_LOGICAL_ADDRESS_TOKEN.

Syntax

typedef struct _IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT {
  PIOMMU_DMA_LOGICAL_ADDRESS_TOKEN OwningToken;
  SIZE_T                           Offset;
  SIZE_T                           Size;
} IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT, *PIOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT;

Members

OwningToken

Provides a pointer to the logical address token that this mapped segment belongs to.

Offset

The offset, in bytes, into the logical address token of the mapped region.

Size

The size, in bytes, of the mapped region within the logical address token.

Remarks

A IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT is initialized when calling IOMMU_MAP_RESERVED_LOGICAL_RANGE on an IOMMU_DMA_LOGICAL_ADDRESS_TOKEN. It is invalidated when calling IOMMU_UNMAP_RESERVED_LOGICAL_RANGE.

A segment must represent a 4KB page aligned range within an IOMMU_DMA_LOGICAL_ADDRESS_TOKEN.

It is possible to map multiple segments within an IOMMU_DMA_LOGICAL_ADDRESS_TOKEN as long as the segments are not overlapping each other.

Requirements

Requirement Value
Minimum supported server Windows Server 2022
Header wdm.h

See also

IOMMU_DMA_LOGICAL_ADDRESS_TOKEN

IOMMU_MAP_RESERVED_LOGICAL_RANGE

IOMMU_UNMAP_RESERVED_LOGICAL_RANGE