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 |