DMA_IOMMU_INTERFACE_V1 结构 (wdm.h)

包含 IOMMU 版本 1 (V1) 函数集的结构。

语法

typedef struct _DMA_IOMMU_INTERFACE_V1 {
  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_V1, *PDMA_IOMMU_INTERFACE_V1;

成员

CreateDomain

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

DeleteDomain

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

AttachDevice

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

DetachDevice

指向从域分离设备的 IOMMU_DOMAIN_ATTACH_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 函数的指针。

注解

这些函数指针与已弃用 的 DMA_IOMMU_INTERFACE 结构提供的函数指针相同。 对于 V1 函数,请使用 DMA_IOMMU_INTERFACE_EX 结构,而不适用于已弃用的函数。

要求

要求
最低受支持的服务器 Windows Server 2022
标头 wdm.h

另请参阅

DMA_IOMMU_INTERFACE_EX