DMA_IOMMU_INTERFACE 结构 (wdm.h)

接口结构的扩展版本,允许设备驱动程序调用执行设备域操作的回调函数。

注意

DMA_IOMMU_INTERFACE已在 Windows 10 版本 2103 中弃用,已替换为 DMA_IOMMU_INTERFACE_EX

语法

typedef struct _DMA_IOMMU_INTERFACE {
  ULONG                             Version;
  PIOMMU_DOMAIN_CREATE              CreateDomain;
  PIOMMU_DOMAIN_DELETE              DeleteDomain;
  PIOMMU_DOMAIN_ATTACH_DEVICE       AttachDevice;
  PIOMMU_DOMAIN_DETACH_DEVICE       DetachDevice;
  PIOMMU_FLUSH_DOMAIN               FlushDomain;
  PIOMMU_FLUSH_DOMAIN_VA_LIST       FlushDomainByVaList;
  PIOMMU_QUERY_INPUT_MAPPINGS       QueryInputMappings;
  PIOMMU_MAP_LOGICAL_RANGE          MapLogicalRange;
  PIOMMU_UNMAP_LOGICAL_RANGE        UnmapLogicalRange;
  PIOMMU_MAP_IDENTITY_RANGE         MapIdentityRange;
  PIOMMU_UNMAP_IDENTITY_RANGE       UnmapIdentityRange;
  PIOMMU_SET_DEVICE_FAULT_REPORTING SetDeviceFaultReporting;
  PIOMMU_DOMAIN_CONFIGURE           ConfigureDomain;
} DMA_IOMMU_INTERFACE, *PDMA_IOMMU_INTERFACE;

成员

Version

驱动程序定义的接口版本。

CreateDomain

指向创建 DMA 重新映射设备域 的IOMMU_DOMAIN_CREATE 回调函数的指针。

DeleteDomain

指向删除设备域 的IOMMU_DOMAIN_DELETE 回调函数的指针。

AttachDevice

指向将设备附加到域 的IOMMU_DOMAIN_ATTACH_DEVICE 回调函数的指针。

DetachDevice

指向从域分离设备 IOMMU_DOMAIN_DETACH_DEVICE 回调函数的指针。

FlushDomain

指向 IOMMU_FLUSH_DOMAIN 回调函数的指针,该函数刷新与此域匹配的所有条目的 TLB。

FlushDomainByVaList

指向 IOMMU_FLUSH_DOMAIN_VA_LIST 回调函数的指针,该回调函数刷新与指定域的 ASID 和所提供的列表中的某个地址匹配的所有条目的 TLB。

QueryInputMappings

指向 IOMMU_QUERY_INPUT_MAPPINGS 回调函数的指针,该函数尝试查找对给定设备有效的输入映射 ID,并使用这些 ID 填充提供的缓冲区。

MapLogicalRange

指向 IOMMU_MAP_LOGICAL_RANGE 回调函数的指针,该函数将页面范围映射到指定域的地址空间中。

UnmapLogicalRange

指向取消映射页范围的 IOMMU_UNMAP_LOGICAL_RANGE 回调函数的指针。

MapIdentityRange

指向IOMMU_MAP_IDENTITY_RANGE回调函数 指针,该回调函数为指定域中提供的 MDL 创建标识映射。

UnmapIdentityRange

指向删除标识映射的 IOMMU_UNMAP_IDENTITY_RANGE 回调函数的指针。

SetDeviceFaultReporting

指向 IOMMU_SET_DEVICE_FAULT_REPORTING 回调函数的指针,该函数将设备故障报告状态设置为已附加到域的设备。

ConfigureDomain

指向配置要使用的域 的IOMMU_DOMAIN_CONFIGURE 回调函数的指针。

要求

要求
最低受支持的客户端 Windows 10 版本 1803
标头 wdm.h