IOMMU_MAP_RESERVED_LOGICAL_RANGE回调函数 (wdm.h)

映射保留的逻辑范围。

IOMMU_MAP_LOGICAL_RANGE_EX不同,这可以保证不执行任何内存分配,因为假定这些分配已使用 IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE执行。

语法

IOMMU_MAP_RESERVED_LOGICAL_RANGE IommuMapReservedLogicalRange;

NTSTATUS IommuMapReservedLogicalRange(
  [in, out] PIOMMU_DMA_LOGICAL_ADDRESS_TOKEN LogicalAddressToken,
  [in]      SIZE_T Offset,
  [in]      ULONG Permissions,
  [in]      PIOMMU_MAP_PHYSICAL_ADDRESS PhysicalAddressToMap,
  [out]     PIOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT MappedSegment
)
{...}

参数

[in, out] LogicalAddressToken

要映射到的 IOMMU_DMA_LOGICAL_ADDRESS_TOKEN

[in] Offset

偏移量(以字节为单位)到逻辑地址令牌中,表示要映射的基本逻辑地址。

[in] Permissions

一个位字段,表示要为所映射的范围设置的权限。 有关可用权限位,请参阅“备注”。

[in] PhysicalAddressToMap

将映射到域的 IOMMU_MAP_PHYSICAL_ADDRESS

[out] MappedSegment

返回表示已映射的逻辑地址令牌段的 IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT

返回值

如果作成功,STATUS_SUCCESS。 可能的错误返回值包括以下状态代码。

返回代码 描述
STATUS_INVALID_PARAMETER_2 提供的偏移量未对齐页面。
STATUS_INVALID_PARAMETER_4 提供的物理地址未对齐页面,/或不是整整页大小。
STATUS_RESOURCE_IN_USE 逻辑地址令牌中表示的逻辑地址范围已完全或部分映射。
STATUS_UNSUCCESSFUL 当前正在删除逻辑地址令牌。

有关详细信息,请参阅 NTSTATUS 值

言论

可以通过 IOMMU_UNMAP_RESERVED_LOGICAL_RANGE取消映射逻辑地址令牌映射段。

权限字段是一个位字段,描述要映射的页面的访问权限。

位的定义如下:

Bit 0 = Read Access

Bit 1 = Write Access

Bits 31-2 = Reserved (0)

要求

要求 价值
支持的最低服务器 Windows Server 2022
标头 wdm.h (包括 Wdm.h)

另请参阅

IOMMU_UNMAP_RESERVED_LOGICAL_RANGE

IOMMU_MAP_PHYSICAL_ADDRESS

IOMMU_DMA_LOGICAL_ADDRESS_TOKEN

IOMMU_DMA_LOGICAL_ADDRESS_TOKEN_MAPPED_SEGMENT