次の方法で共有


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を使用します

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

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

Bit 0 = Read Access

Bit 1 = Write Access

Bits 31-2 = Reserved (0)

要件

要件
サポートされている最小のサーバー Windows Server 2022
Header wdm.h (Wdm.h を含む)

こちらもご覧ください

IOMMU_DMA_DOMAIN_TYPE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX

IOMMU_MAP_PHYSICAL_ADDRESS