structure DMA_IOMMU_INTERFACE_V2 (wdm.h)
Structure contenant l’ensemble des fonctions IOMMU Version 2 (V2).
Syntaxe
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;
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 l’équilibrage de charge de charge pour toutes les entrées qui correspondent à ce domaine.
FlushDomainByVaList
Pointeur vers la fonction IOMMU_FLUSH_DOMAIN_VA_LIST qui vide l’équilibrage de charge des tâches 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 trouver des ID de mappage d’entrée valides pour l’appareil donné et de 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é à attacher, en fonction de 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’un changement d’état lié à 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 un IOMMU_DMA_DEVICE.
Configuration requise
Condition requise | Valeur |
---|---|
Serveur minimal pris en charge | Windows Server 2022 |
En-tête | wdm.h (inclure Wdm.h) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour