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