Поделиться через


структура DMA_IOMMU_INTERFACE (wdm.h)

Расширенная версия структуры INTERFACE , которая позволяет драйверам устройств вызывать функции обратного вызова, которые выполняют операции домена устройства.

Внимание!

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

Указатель на функцию обратного вызова IOMMU_DOMAIN_CREATE, которая создает домен устройства dma remapping.

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 указанного домена и одному из адресов в указанном списке.

QueryInputMappings

Указатель на функцию обратного вызова IOMMU_QUERY_INPUT_MAPPINGS , которая пытается найти идентификаторы сопоставления входных данных, допустимые для данного устройства, и заполнить предоставленный буфер этими идентификаторами.

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