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


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

Структура, содержащая набор функций IOMMU версии 2 (V2).

Синтаксис

typedef struct _DMA_IOMMU_INTERFACE_V2 {
  PIOMMU_DOMAIN_CREATE_EX                           CreateDomainEx;
  PIOMMU_DOMAIN_DELETE                              DeleteDomain;
  PIOMMU_DOMAIN_ATTACH_DEVICE_EX                    AttachDeviceEx;
  PIOMMU_DOMAIN_DETACH_DEVICE_EX                    DetachDeviceEx;
  PIOMMU_FLUSH_DOMAIN                               FlushDomain;
  PIOMMU_FLUSH_DOMAIN_VA_LIST                       FlushDomainByVaList;
  PIOMMU_QUERY_INPUT_MAPPINGS                       QueryInputMappings;
  PIOMMU_MAP_LOGICAL_RANGE_EX                       MapLogicalRangeEx;
  PIOMMU_UNMAP_LOGICAL_RANGE                        UnmapLogicalRange;
  PIOMMU_MAP_IDENTITY_RANGE_EX                      MapIdentityRangeEx;
  PIOMMU_UNMAP_IDENTITY_RANGE_EX                    UnmapIdentityRangeEx;
  PIOMMU_SET_DEVICE_FAULT_REPORTING_EX              SetDeviceFaultReportingEx;
  PIOMMU_DOMAIN_CONFIGURE                           ConfigureDomain;
  PIOMMU_DEVICE_QUERY_DOMAIN_TYPES                  QueryAvailableDomainTypes;
  PIOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK   RegisterInterfaceStateChangeCallback;
  PIOMMU_UNREGISTER_INTERFACE_STATE_CHANGE_CALLBACK UnregisterInterfaceStateChangeCallback;
  PIOMMU_RESERVE_LOGICAL_ADDRESS_RANGE              ReserveLogicalAddressRange;
  PIOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE        FreeReservedLogicalAddressRange;
  PIOMMU_MAP_RESERVED_LOGICAL_RANGE                 MapReservedLogicalRange;
  PIOMMU_UNMAP_RESERVED_LOGICAL_RANGE               UnmapReservedLogicalRange;
  PIOMMU_DEVICE_CREATE                              CreateDevice;
  PIOMMU_DEVICE_DELETE                              DeleteDevice;
} DMA_IOMMU_INTERFACE_V2, *PDMA_IOMMU_INTERFACE_V2;

Члены

CreateDomainEx

Указатель на функцию IOMMU_DOMAIN_CREATE_EX , которая создает домен устройства DMA для переназначивания.

DeleteDomain

Указатель на функцию IOMMU_DOMAIN_DELETE , которая удаляет домен устройства.

AttachDeviceEx

Указатель на функцию IOMMU_DOMAIN_ATTACH_DEVICE_EX , которая присоединяет устройство к домену.

DetachDeviceEx

Указатель на функцию IOMMU_DOMAIN_DETACH_DEVICE_EX , которая отсоединяет устройство от домена.

FlushDomain

Указатель на функцию IOMMU_FLUSH_DOMAIN , которая очищает TLB для всех записей, соответствующих этому домену.

FlushDomainByVaList

Указатель на функцию IOMMU_FLUSH_DOMAIN_VA_LIST , которая очищает TLB для всех записей, соответствующих ASID указанного домена и одному из адресов в предоставленном списке.

QueryInputMappings

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

MapLogicalRangeEx

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

UnmapLogicalRange

Указатель на функцию IOMMU_UNMAP_LOGICAL_RANGE , которая отменяет сопоставление диапазона страниц.

MapIdentityRangeEx

Указатель на функцию IOMMU_MAP_IDENTITY_RANGE_EX , которая создает сопоставление удостоверений для указанного физического адреса в указанном домене.

UnmapIdentityRangeEx

Указатель на функцию IOMMU_UNMAP_IDENTITY_RANGE_EX , которая удаляет сопоставление идентификаторов для указанного физического адреса.

SetDeviceFaultReportingEx

Указатель на функцию IOMMU_SET_DEVICE_FAULT_REPORTING_EX , которая задает состояние отчетов об ошибках устройства на устройстве, уже подключенном к домену.

ConfigureDomain

Указатель на функцию IOMMU_DOMAIN_CONFIGURE , которая настраивает домен для использования.

QueryAvailableDomainTypes

Указатель на функцию IOMMU_DEVICE_QUERY_DOMAIN_TYPES , которая запрашивает доступные типы доменов, к которым может подключаться устройство, в зависимости от факторов среды, таких как платформа и политика DMA Guard.

RegisterInterfaceStateChangeCallback

Указатель на функцию IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK , которая позволяет вызывающему объекту регистрировать обратный вызов, вызываемый при любом изменении состояния, связанном с интерфейсом IOMMU.

UnregisterInterfaceStateChangeCallback

Указатель на функцию IOMMU_UNREGISTER_INTERFACE_STATE_CHANGE_CALLBACK , которая позволяет вызывающей объекту отменить регистрацию зарегистрированного обратного вызова.

ReserveLogicalAddressRange

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

FreeReservedLogicalAddressRange

Указатель на функцию IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE , которая освобождает маркер логического адреса.

MapReservedLogicalRange

Указатель на функцию IOMMU_MAP_RESERVED_LOGICAL_RANGE , которая сопоставляет зарезервированный логический диапазон.

UnmapReservedLogicalRange

Указатель на функцию IOMMU_UNMAP_RESERVED_LOGICAL_RANGE , которая отменяет сопоставление ранее сопоставленного зарезервированного логического диапазона.

CreateDevice

Указатель на функцию IOMMU_DEVICE_CREATE , которая принимает объект физического устройства и создает IOMMU_DMA_DEVICE.

DeleteDevice

Указатель на функцию IOMMU_DEVICE_DELETE , которая удаляет IOMMU_DMA_DEVICE.

Требования

Требование Значение
Минимальная версия сервера Windows Server 2022
Верхняя часть wdm.h (включая Wdm.h)

См. также раздел

DMA_IOMMU_INTERFACE_EX