structure DMA_IOMMU_INTERFACE_V1 (wdm.h)

Structure contenant l’ensemble des fonctions IOMMU Version 1 (V1).

Syntaxe

typedef struct _DMA_IOMMU_INTERFACE_V1 {
  PIOMMU_DOMAIN_CREATE              CreateDomain;
  PIOMMU_DOMAIN_DELETE              DeleteDomain;
  PIOMMU_DOMAIN_ATTACH_DEVICE       AttachDevice;
  PIOMMU_DOMAIN_DETACH_DEVICE       DetachDevice;
  PIOMMU_FLUSH_DOMAIN               FlushDomain;
  PIOMMU_FLUSH_DOMAIN_VA_LIST       FlushDomainByVaList;
  PIOMMU_QUERY_INPUT_MAPPINGS       QueryInputMappings;
  PIOMMU_MAP_LOGICAL_RANGE          MapLogicalRange;
  PIOMMU_UNMAP_LOGICAL_RANGE        UnmapLogicalRange;
  PIOMMU_MAP_IDENTITY_RANGE         MapIdentityRange;
  PIOMMU_UNMAP_IDENTITY_RANGE       UnmapIdentityRange;
  PIOMMU_SET_DEVICE_FAULT_REPORTING SetDeviceFaultReporting;
  PIOMMU_DOMAIN_CONFIGURE           ConfigureDomain;
} DMA_IOMMU_INTERFACE_V1, *PDMA_IOMMU_INTERFACE_V1;

Membres

CreateDomain

Pointeur vers la fonction IOMMU_DOMAIN_CREATE qui crée un domaine d’appareil de remapping DMA.

DeleteDomain

Pointeur vers la fonction IOMMU_DOMAIN_DELETE qui supprime un domaine d’appareil.

AttachDevice

Pointeur vers la fonction IOMMU_DOMAIN_ATTACH_DEVICE qui attache un appareil à un domaine.

DetachDevice

Pointeur vers la fonction IOMMU_DOMAIN_ATTACH_DEVICE 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.

MapLogicalRange

Pointeur vers la fonction IOMMU_MAP_LOGICAL_RANGE 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.

MapIdentityRange

Pointeur vers la fonction IOMMU_MAP_IDENTITY_RANGE qui crée un mappage d’identité pour le MDL fourni dans le domaine spécifié.

UnmapIdentityRange

Pointeur vers la fonction IOMMU_UNMAP_IDENTITY_RANGE qui supprime un mappage d’identité.

SetDeviceFaultReporting

Pointeur vers la fonction IOMMU_SET_DEVICE_FAULT_REPORTING qui définit l’état de rapport d’erreur de l’appareil sur l’appareil déjà attaché à un domaine.

ConfigureDomain

Pointeur vers la fonction IOMMU_DOMAIN_CONFIGURE qui configure un domaine à utiliser.

Remarques

Ces pointeurs de fonction sont les mêmes que ceux fournis par la structure de DMA_IOMMU_INTERFACE déconseillée. Pour les fonctions V1, utilisez la structure DMA_IOMMU_INTERFACE_EX sur la structure dépréciée.

Configuration requise

Condition requise Valeur
Serveur minimal pris en charge Windows Server 2022
En-tête wdm.h

Voir aussi

DMA_IOMMU_INTERFACE_EX