структура 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) |