DMA_IOMMU_INTERFACE_V2-Struktur (wdm.h)
Eine Struktur, die den Satz der Funktionen von IOMMU Version 2 (V2) enthält.
Syntax
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;
Member
CreateDomainEx
Ein Zeiger auf die IOMMU_DOMAIN_CREATE_EX-Funktion , die eine DMA-Neuzuordnungsgerätedomäne erstellt.
DeleteDomain
Ein Zeiger auf die IOMMU_DOMAIN_DELETE Funktion, die eine Gerätedomäne löscht.
AttachDeviceEx
Ein Zeiger auf die IOMMU_DOMAIN_ATTACH_DEVICE_EX-Funktion , die ein Gerät an eine Domäne anfügt.
DetachDeviceEx
Ein Zeiger auf die IOMMU_DOMAIN_DETACH_DEVICE_EX Funktion, die ein Gerät von einer Domäne trennt.
FlushDomain
Ein Zeiger auf die IOMMU_FLUSH_DOMAIN-Funktion , die den TLB für alle Einträge leert, die dieser Domäne entsprechen.
FlushDomainByVaList
Ein Zeiger auf die IOMMU_FLUSH_DOMAIN_VA_LIST-Funktion , die den TLB für alle Einträge leert, die der ASID der angegebenen Domäne und einer der Adressen in der angegebenen Liste entsprechen.
QueryInputMappings
Ein Zeiger auf die IOMMU_QUERY_INPUT_MAPPINGS-Funktion , die versucht, Eingabezuordnungs-IDs zu finden, die für das jeweilige Gerät gültig sind, und den bereitgestellten Puffer mit diesen IDs aufzufüllen.
MapLogicalRangeEx
Ein Zeiger auf die IOMMU_MAP_LOGICAL_RANGE_EX-Funktion , die einen Seitenbereich dem Adressraum der angegebenen Domäne zuordnet.
UnmapLogicalRange
Ein Zeiger auf die IOMMU_UNMAP_LOGICAL_RANGE Funktion, die die Zuordnung eines Seitenbereichs aufheben kann.
MapIdentityRangeEx
Ein Zeiger auf die IOMMU_MAP_IDENTITY_RANGE_EX-Funktion , die eine Identitätszuordnung für die angegebene physische Adresse in der bereitgestellten Domäne erstellt.
UnmapIdentityRangeEx
Ein Zeiger auf die IOMMU_UNMAP_IDENTITY_RANGE_EX-Funktion , die eine Identitätszuordnung für die angegebene physische Adresse löscht.
SetDeviceFaultReportingEx
Ein Zeiger auf die IOMMU_SET_DEVICE_FAULT_REPORTING_EX-Funktion , die den Gerätefehlerberichtsstatus auf einem Gerät festlegt, das bereits an eine Domäne angefügt ist.
ConfigureDomain
Ein Zeiger auf die IOMMU_DOMAIN_CONFIGURE-Funktion , die eine Domäne für die Verwendung konfiguriert.
QueryAvailableDomainTypes
Ein Zeiger auf die IOMMU_DEVICE_QUERY_DOMAIN_TYPES Funktion, die die verfügbaren Domänentypen abfragt, an die ein Gerät je nach Umgebungsfaktoren wie Plattform und DMA Guard-Richtlinie anfügen darf.
RegisterInterfaceStateChangeCallback
Ein Zeiger auf die IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK-Funktion , mit der der Aufrufer einen Rückruf registrieren kann, der aufgerufen wird, wenn eine Zustandsänderung im Zusammenhang mit der IOMMU-Schnittstelle auftritt.
UnregisterInterfaceStateChangeCallback
Ein Zeiger auf die IOMMU_UNREGISTER_INTERFACE_STATE_CHANGE_CALLBACK-Funktion , mit der der Aufrufer die Registrierung eines registrierten Rückrufs aufheben kann.
ReserveLogicalAddressRange
Ein Zeiger auf die IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE-Funktion , die den logischen Adressraum vorab zugeordnet, der für zukünftige Zuordnungen verwendet werden kann.
FreeReservedLogicalAddressRange
Ein Zeiger auf die IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE Funktion, die ein logisches Adresstoken freigibt.
MapReservedLogicalRange
Ein Zeiger auf die IOMMU_MAP_RESERVED_LOGICAL_RANGE-Funktion , die einen reservierten logischen Bereich ordnet.
UnmapReservedLogicalRange
Ein Zeiger auf die IOMMU_UNMAP_RESERVED_LOGICAL_RANGE-Funktion , die die Zuordnung eines zuvor zugeordneten reservierten logischen Bereichs aufgehoben.
CreateDevice
Ein Zeiger auf die IOMMU_DEVICE_CREATE-Funktion , die ein physisches Geräteobjekt annimmt und eine IOMMU_DMA_DEVICE erstellt.
DeleteDevice
Ein Zeiger auf die IOMMU_DEVICE_DELETE Funktion, die eine IOMMU_DMA_DEVICE löscht.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Server) | Windows Server 2022 |
Kopfzeile | wdm.h (einschließen von Wdm.h) |