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)

Weitere Informationen

DMA_IOMMU_INTERFACE_EX