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


структура 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, которая очищает подсистему балансировки нагрузки для всех записей, соответствующих этому домену.

FlushDomainByVaList

Указатель на функцию IOMMU_FLUSH_DOMAIN_VA_LIST, которая очищает подсистему балансировки нагрузки для всех записей, которые соответствуют 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 (include Wdm.h)

См. также

DMA_IOMMU_INTERFACE_EX