// wdm.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
The IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT represents a mapped portion of an IOMMU_DMA_LOGICAL_ADDRESS_TOKEN.
OwningTokenProvides a pointer to the logical address token that this mapped segment belongs to.
OffsetThe offset, in bytes, into the logical address token of the mapped region.
SizeThe size, in bytes, of the mapped region within the logical address token.
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.
IOMMU_DMA_LOGICAL_ADDRESS_TOKEN
IOMMU_MAP_RESERVED_LOGICAL_RANGE
IOMMU_UNMAP_RESERVED_LOGICAL_RANGE