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経由でマップ解除できます。
permissions フィールドは、マップされるページのアクセス許可を記述するビットフィールドです。
ビットは次のように定義されます。
Bit 0 = Read Access
Bit 1 = Write Access
Bits 31-2 = Reserved (0)
要件
要件 | 値 |
---|---|
サポートされている最小のサーバー | Windows Server 2022 |
Header | wdm.h (Wdm.h を含む) |
こちらもご覧ください
IOMMU_UNMAP_RESERVED_LOGICAL_RANGE