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