プラットフォームや DMA Guard ポリシーなどの環境要因に応じて、IOMMU_DMA_DEVICE がアタッチできる使用可能なドメインの種類に対するクエリ。
構文
IOMMU_DEVICE_QUERY_DOMAIN_TYPES IommuDeviceQueryDomainTypes;
void IommuDeviceQueryDomainTypes(
PIOMMU_DMA_DEVICE DmaDevice,
PULONG AvailableDomains
)
{...}
パラメーター
DmaDevice
[in]IOMMU_DMA_DEVICEを表す不透明なトークンへのポインター。
AvailableDomains
[アウト]作成してアタッチできる現在のドメインの種類を返します。 各セット ビットは、使用可能なドメインの種類 ((1 << IOMMU_DMA_DOMAIN_TYPE)
) を表します。
IOMMU_DMA_DOMAIN_TYPEを参照してください。
戻り値
何一つ
備考
これは、IOMMU_DOMAIN_ATTACH_DEVICE_EX が成功するかどうかのヒントとして使用できます。
デバイスが DMA 再マッピング互換 IOMMU の背後にない場合、再マッピング ドメインは使用できません。
DMA Guard が有効になっている場合は、ポリシーに基づいてパススルー ドメインを使用できます。つまり、デバイスが DMA 再マッピングにオプトインされているかどうか、外部に接続されているかどうか、画面ロック状態などです。 DMA Guard のブロックがアクティブな場合、パススルー ドメインは使用できなく、AvailableDomains & (1 << DomainTypePassThrough)
は 0 になります。
ドメインの種類が使用可能な場合に通知を受け取る場合は、使用可能なドメインの種類が変更されるたびに、IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK を使用して通知コールバックを登録することを検討してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小サーバー | Windows Server 2022 |
ヘッダー | wdm.h (Wdm.h を含む) |