IOMMU_DEVICE_QUERY_DOMAIN_TYPES回调函数 (wdm.h)

查询 允许IOMMU_DMA_DEVICE 附加到的可用域类型,具体取决于环境因素,例如平台和 DMA 防护策略。

语法

IOMMU_DEVICE_QUERY_DOMAIN_TYPES IommuDeviceQueryDomainTypes;

void IommuDeviceQueryDomainTypes(
  PIOMMU_DMA_DEVICE DmaDevice,
  PULONG AvailableDomains
)
{...}

参数

DmaDevice

[In]指向表示 IOMMU_DMA_DEVICE的不透明标记的指针。

AvailableDomains

[Out]返回可创建并附加到的当前域类型。 每个设置位表示可用的域类型: (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)

另请参阅

IOMMU_DMA_DOMAIN_TYPE

IOMMU_DOMAIN_ATTACH_DEVICE_EX

IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX