struttura DMA_IOMMU_INTERFACE_V2 (wdm.h)
Struttura contenente il set di funzioni IOMMU Versione 2 (V2).
Sintassi
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;
Members
CreateDomainEx
Puntatore alla funzione IOMMU_DOMAIN_CREATE_EX che crea un dominio del dispositivo DMA remapping.
DeleteDomain
Puntatore alla funzione IOMMU_DOMAIN_DELETE che elimina un dominio del dispositivo.
AttachDeviceEx
Puntatore alla funzione IOMMU_DOMAIN_ATTACH_DEVICE_EX che collega un dispositivo a un dominio.
DetachDeviceEx
Puntatore alla funzione IOMMU_DOMAIN_DETACH_DEVICE_EX che scollega un dispositivo da un dominio.
FlushDomain
Puntatore alla funzione IOMMU_FLUSH_DOMAIN che scarica il TLB per tutte le voci che corrispondono a questo dominio.
FlushDomainByVaList
Puntatore alla funzione IOMMU_FLUSH_DOMAIN_VA_LIST che scarica il TLB per tutte le voci corrispondenti all'ASID del dominio specificato e a uno degli indirizzi nell'elenco specificato.
QueryInputMappings
Puntatore alla funzione IOMMU_QUERY_INPUT_MAPPINGS che tenta di trovare ID mapping di input validi per il dispositivo specificato e popolare il buffer fornito con tali ID.
MapLogicalRangeEx
Puntatore alla funzione IOMMU_MAP_LOGICAL_RANGE_EX che esegue il mapping di un intervallo di pagine nello spazio indirizzi del dominio specificato.
UnmapLogicalRange
Puntatore alla funzione IOMMU_UNMAP_LOGICAL_RANGE che annulla il mapping di un intervallo di pagine.
MapIdentityRangeEx
Puntatore alla funzione IOMMU_MAP_IDENTITY_RANGE_EX che crea un mapping di identità per l'indirizzo fisico specificato nel dominio specificato.
UnmapIdentityRangeEx
Puntatore alla funzione IOMMU_UNMAP_IDENTITY_RANGE_EX che elimina un mapping di identità per l'indirizzo fisico specificato.
SetDeviceFaultReportingEx
Puntatore alla funzione IOMMU_SET_DEVICE_FAULT_REPORTING_EX che imposta lo stato di segnalazione degli errori del dispositivo in un dispositivo già collegato a un dominio.
ConfigureDomain
Puntatore alla funzione IOMMU_DOMAIN_CONFIGURE che configura un dominio da usare.
QueryAvailableDomainTypes
Puntatore alla funzione IOMMU_DEVICE_QUERY_DOMAIN_TYPES che esegue query sui tipi di domini disponibili a cui un dispositivo può connettersi, a seconda dei fattori di ambiente, ad esempio la piattaforma e i criteri di DMA Guard.
RegisterInterfaceStateChangeCallback
Puntatore alla funzione IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK che consente al chiamante di registrare un callback da richiamare ogni volta che si verifica una modifica dello stato correlata all'interfaccia IOMMU.
UnregisterInterfaceStateChangeCallback
Puntatore alla funzione IOMMU_UNREGISTER_INTERFACE_STATE_CHANGE_CALLBACK che consente al chiamante di annullare la registrazione di un callback registrato.
ReserveLogicalAddressRange
Puntatore alla funzione IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE che prealloca lo spazio degli indirizzi logici che può essere usato per i mapping futuri.
FreeReservedLogicalAddressRange
Puntatore alla funzione IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE che libera un token di indirizzo logico.
MapReservedLogicalRange
Puntatore alla funzione IOMMU_MAP_RESERVED_LOGICAL_RANGE che esegue il mapping di un intervallo logico riservato.
UnmapReservedLogicalRange
Puntatore alla funzione IOMMU_UNMAP_RESERVED_LOGICAL_RANGE che annulla il mapping di un intervallo logico riservato mappato in precedenza.
CreateDevice
Puntatore alla funzione IOMMU_DEVICE_CREATE che accetta un oggetto dispositivo fisico e crea un IOMMU_DMA_DEVICE.
DeleteDevice
Puntatore alla funzione IOMMU_DEVICE_DELETE che elimina un IOMMU_DMA_DEVICE.
Requisiti
Requisito | Valore |
---|---|
Server minimo supportato | Windows Server 2022 |
Intestazione | wdm.h (include Wdm.h) |