英語で読む

次の方法で共有


IOMMU_MAP_IDENTITY_RANGE_EX コールバック関数 (wdm.h)

指定されたドメイン内の指定された物理アドレス空間の ID マッピングを作成します。

構文

IOMMU_MAP_IDENTITY_RANGE_EX IommuMapIdentityRangeEx;

NTSTATUS IommuMapIdentityRangeEx(
  [in] PIOMMU_DMA_DOMAIN Domain,
  [in] ULONG Permissions,
  [in] PIOMMU_MAP_PHYSICAL_ADDRESS PhysicalAddressToMap
)
{...}

パラメーター

[in] Domain

ID マップされた物理アドレスが属する IOMMU_DMA_DOMAIN へのポインター。 ドメインは、DomainTypeTranslate または DomainTypePassThrough 型である必要があります。 ドメインの種類の詳細については、IOMMU_DMA_DOMAIN_TYPEを参照してください。

[in] Permissions

マップされる範囲に対して設定するアクセス許可を表すビット フィールド。 使用可能なアクセス許可ビットについては、「解説」を参照してください。

[in] PhysicalAddressToMap

ドメインにマップされる IOMMU_MAP_PHYSICAL_ADDRESS

戻り値

操作が成功したかどうかを STATUS_SUCCESS します。 考えられるエラー戻り値には、次の状態コードが含まれます。

リターン コード 形容
STATUS_INVALID_PARAMETER_1 指定されたドメインの種類 DomainTypeTranslate または DomainTypePassThrough ではありません。
STATUS_INVALID_PARAMETER_3 指定された IOMMU_MAP_PHYSICAL_ADDRESS は、ページアラインされた物理メモリを表すのではなく、PAGE_SIZEの倍数のサイズを持っています。
STATUS_IN_USE ID 範囲は既にマップされているか、部分的にマップされています。
STATUS_NOT_SUPPORTED 指定されたドメインには、明示的な論理アドレスの割り当てを許可しない論理アロケーターが含まれています。

備考

IOMMU_MAP_IDENTITY_RANGE_EXによって作成された論理アドレスのマップを解除するには、IOMMU_UNMAP_IDENTITY_RANGE_EXを使用します。

アクセス許可フィールドは、マップするページのアクセス許可を記述するビットフィールドです。

ビットは次のように定義されます。

Bit 0 = Read Access

Bit 1 = Write Access

Bits 31-2 = Reserved (0)

必要条件

要件 価値
サポートされる最小サーバー Windows Server 2022
ヘッダー wdm.h (Wdm.h を含む)

関連項目

IOMMU_DMA_DOMAIN_TYPE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX

IOMMU_MAP_PHYSICAL_ADDRESS