次の方法で共有


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

既存の DMA デバイス ドメインに IOMMU_DMA_DEVICE をアタッチします。

構文

IOMMU_DOMAIN_ATTACH_DEVICE_EX IommuDomainAttachDeviceEx;

NTSTATUS IommuDomainAttachDeviceEx(
  PIOMMU_DMA_DOMAIN Domain,
  PIOMMU_DMA_DEVICE DmaDevice
)
{...}

パラメーター

Domain

[in]IOMMU_DMA_DEVICE がアタッチするドメインへのハンドル。

DmaDevice

[in]アタッチする IOMMU_DMA_DEVICE へのポインター。

戻り値

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

リターン コード 形容
STATUS_INSUFFICIENT_RESOURCES
ルーチンは、必要なリソースの割り当てに失敗しました。
STATUS_INVALID_PARAMETER
デバイスは既にドメインに接続されています。
STATUS_ACCESS_DENIED
デバイスは現在、このドメインの種類にアタッチできません。

詳細については、「NTSTATUS 値 を参照してください。

備考

呼び出し元は、IOMMU_DMA_DEVICE を別のドメインにアタッチする前に、以前にアタッチされたドメインから IOMMU_DOMAIN_DETACH_DEVICE_EXを使用して最初にデタッチされるようにする必要があります。

ドライバーは、この関数が同じデバイス上の IOMMU_DOMAIN_DETACH_DEVICE_EX または IOMMU_SET_DEVICE_FAULT_REPORTING_EX 呼び出しと同時に呼び出されないようにする必要があります。

STATUS_ACCESS_DENIED が返された場合は、デバイスがアタッチするドメインの種類が現在使用できない可能性があります。 IOMMU_DEVICE_QUERY_DOMAIN_TYPES を使用して、指定したデバイスで使用できるドメインの種類を確認することをお勧めします。 使用可能な種類は、DMA Guard ポリシーとデバイスの特性によって異なる場合があります。 ドメインの種類が使用可能な場合に通知を受け取る場合は、使用可能なドメインの種類が変更されるたびに、IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK を使用して通知コールバックを登録することを検討してください。

必要条件

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

関連項目

IOMMU_DOMAIN_DETACH_DEVICE_EX

IOMMU_SET_DEVICE_FAULT_REPORTING_EX

IOMMU_DEVICE_QUERY_DOMAIN_TYPES

IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX