Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La struttura DMA_IOMMU_INTERFACE_V3 contiene il set di funzioni IOMMU versione 3 (V3).
Sintassi
typedef struct _DMA_IOMMU_INTERFACE_V3 {
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;
PIOMMU_PASID_DEVICE_CREATE CreatePasidDevice;
PIOMMU_PASID_DEVICE_DELETE DeletePasidDevice;
PIOMMU_DOMAIN_ATTACH_PASID_DEVICE AttachPasidDevice;
PIOMMU_DOMAIN_DETACH_PASID_DEVICE DetachPasidDevice;
PIOMMU_DEVICE_QUERY_INFORMATION QueryDeviceInfo;
} DMA_IOMMU_INTERFACE_V3, *PDMA_IOMMU_INTERFACE_V3;
Membri
CreateDomainEx
Puntatore alla funzione IOMMU_DOMAIN_CREATE_EX che crea un dominio del dispositivo DMA di cui viene ricreato il mapping.
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 che corrispondono all'ASID del dominio specificato e a uno degli indirizzi nell'elenco fornito.
QueryInputMappings
Puntatore alla funzione IOMMU_QUERY_INPUT_MAPPINGS che tenta di trovare gli ID di mapping di input validi per il dispositivo specificato e popolano 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 una query per i 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 indirizzi logico 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.
CreatePasidDevice
Puntatore alla funzione IOMMU_PASID_DEVICE_CREATE che crea un nuovo sotto-dispositivo con il proprio PASID da un dispositivo IOMMU DMA.
DeletePasidDevice
Puntatore alla funzione IOMMU_PASID_DEVICE_DELETE che elimina un sotto-dispositivo PASID e libera il relativo ASID.
AttachPasidDevice
Puntatore alla funzione IOMMU_DOMAIN_ATTACH_PASID_DEVICE che collega un sotto-dispositivo PASID a un dominio di memoria esistente.
DetachPasidDevice
Puntatore alla funzione IOMMU_DOMAIN_DETACH_PASID_DEVICE che scollega un sotto-dispositivo PASID dal dominio a cui è attualmente collegato.
QueryDeviceInfo
Puntatore alla funzione IOMMU_DEVICE_QUERY_INFORMATION che esegue query su informazioni su un dispositivo IOMMU DMA.
Osservazioni:
Questa struttura estende DMA_IOMMU_INTERFACE_V2 con funzioni di supporto PASID (Process Address Space Identifier) aggiuntive. L'interfaccia V3 include tutte le funzioni della versione 2 e le nuove funzionalità per la creazione e la gestione di sotto-dispositivi PASID ed esecuzione di query sulle informazioni sul dispositivo.
Requisiti
| Requisito | Valore |
|---|---|
| Client minimo supportato | Windows 11, versione 22H2 |
| Intestazione | wdm.h (include Wdm.h) |
Vedere anche
IOMMU_DOMAIN_ATTACH_PASID_DEVICE