Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La structure DMA_IOMMU_INTERFACE_V3 contient l’ensemble de fonctions IOMMU Version 3 (V3).
Syntaxe
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;
Membres
CreateDomainEx
Pointeur vers la fonction IOMMU_DOMAIN_CREATE_EX qui crée un domaine d’appareil de remapping DMA.
DeleteDomain
Pointeur vers la fonction IOMMU_DOMAIN_DELETE qui supprime un domaine d’appareil.
AttachDeviceEx
Pointeur vers la fonction IOMMU_DOMAIN_ATTACH_DEVICE_EX qui attache un appareil à un domaine.
DetachDeviceEx
Pointeur vers la fonction IOMMU_DOMAIN_DETACH_DEVICE_EX qui détache un appareil d’un domaine.
FlushDomain
Pointeur vers la fonction IOMMU_FLUSH_DOMAIN qui vide le TLB pour toutes les entrées qui correspondent à ce domaine.
FlushDomainByVaList
Pointeur vers la fonction IOMMU_FLUSH_DOMAIN_VA_LIST qui vide le TLB pour toutes les entrées qui correspondent à l’ASID du domaine spécifié et à l’une des adresses de la liste fournie.
QueryInputMappings
Pointeur vers la fonction IOMMU_QUERY_INPUT_MAPPINGS qui tente de rechercher des ID de mappage d’entrée valides pour l’appareil donné et remplir la mémoire tampon fournie avec ces ID.
MapLogicalRangeEx
Pointeur vers la fonction IOMMU_MAP_LOGICAL_RANGE_EX qui mappe une plage de pages dans l’espace d’adressage du domaine spécifié.
UnmapLogicalRange
Pointeur vers la fonction IOMMU_UNMAP_LOGICAL_RANGE qui annule le mappage d’une plage de pages.
MapIdentityRangeEx
Pointeur vers la fonction IOMMU_MAP_IDENTITY_RANGE_EX qui crée un mappage d’identité pour l’adresse physique fournie dans le domaine fourni.
UnmapIdentityRangeEx
Pointeur vers la fonction IOMMU_UNMAP_IDENTITY_RANGE_EX qui supprime un mappage d’identité pour l’adresse physique spécifiée.
SetDeviceFaultReportingEx
Pointeur vers la fonction IOMMU_SET_DEVICE_FAULT_REPORTING_EX qui définit l’état de rapport d’erreur de l’appareil sur un appareil déjà attaché à un domaine.
ConfigureDomain
Pointeur vers la fonction IOMMU_DOMAIN_CONFIGURE qui configure un domaine à utiliser.
QueryAvailableDomainTypes
Pointeur vers la fonction IOMMU_DEVICE_QUERY_DOMAIN_TYPES qui interroge les types de domaines disponibles auxquels un appareil est autorisé à s’attacher, en fonction des facteurs d’environnement, tels que la plateforme et la stratégie DMA Guard.
RegisterInterfaceStateChangeCallback
Pointeur vers la fonction IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK qui permet à l’appelant d’inscrire un rappel à appeler chaque fois qu’une modification d’état liée à l’interface IOMMU se produit.
UnregisterInterfaceStateChangeCallback
Pointeur vers la fonction IOMMU_UNREGISTER_INTERFACE_STATE_CHANGE_CALLBACK qui permet à l’appelant de désinscrire un rappel inscrit.
ReserveLogicalAddressRange
Pointeur vers la fonction IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE qui préalloue l’espace d’adressage logique qui peut être utilisé pour les mappages futurs.
FreeReservedLogicalAddressRange
Pointeur vers la fonction IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE qui libère un jeton d’adresse logique.
MapReservedLogicalRange
Pointeur vers la fonction IOMMU_MAP_RESERVED_LOGICAL_RANGE qui mappe une plage logique réservée.
UnmapReservedLogicalRange
Pointeur vers la fonction IOMMU_UNMAP_RESERVED_LOGICAL_RANGE qui annule le mappage d’une plage logique réservée précédemment mappée.
CreateDevice
Pointeur vers la fonction IOMMU_DEVICE_CREATE qui prend un objet d’appareil physique et crée un IOMMU_DMA_DEVICE.
DeleteDevice
Pointeur vers la fonction IOMMU_DEVICE_DELETE qui supprime une IOMMU_DMA_DEVICE.
CreatePasidDevice
Pointeur vers la fonction IOMMU_PASID_DEVICE_CREATE qui crée un sous-appareil avec son propre PASID à partir d’un appareil DMA IOMMU.
DeletePasidDevice
Pointeur vers la fonction IOMMU_PASID_DEVICE_DELETE qui supprime un sous-appareil PASID et libère son ASID.
AttachPasidDevice
Pointeur vers la fonction IOMMU_DOMAIN_ATTACH_PASID_DEVICE qui attache un sous-appareil PASID à un domaine de mémoire existant.
DetachPasidDevice
Pointeur vers la fonction IOMMU_DOMAIN_DETACH_PASID_DEVICE qui détache un sous-appareil PASID du domaine auquel il est actuellement attaché.
QueryDeviceInfo
Pointeur vers la fonction IOMMU_DEVICE_QUERY_INFORMATION qui interroge des informations sur un appareil DMA IOMMU.
Remarques
Cette structure étend DMA_IOMMU_INTERFACE_V2 avec des fonctions de prise en charge pasID (identificateur d’espace d’adressage de processus). L’interface V3 inclut toutes les fonctions de V2 ainsi que de nouvelles fonctionnalités pour la création et la gestion de sous-appareils PASID et l’interrogation des informations sur l’appareil.
Spécifications
| Besoin | Valeur |
|---|---|
| Client minimum requis | Windows 11, version 22H2 |
| En-tête | wdm.h (include Wdm.h) |
Voir aussi
IOMMU_DOMAIN_ATTACH_PASID_DEVICE