次の方法で共有


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