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