structure DMA_IOMMU_INTERFACE (wdm.h)

Version étendue de la structure INTERFACE qui permet aux pilotes de périphérique d’appeler les fonctions de rappel qui effectuent des opérations de domaine d’appareil.

Attention

DMA_IOMMU_INTERFACEa été déprécié dans Windows 10 version 2103 et a été remplacé par DMA_IOMMU_INTERFACE_EX.

Syntaxe

typedef struct _DMA_IOMMU_INTERFACE {
  ULONG                             Version;
  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, *PDMA_IOMMU_INTERFACE;

Membres

Version

Version de l’interface définie par le pilote.

CreateDomain

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

DeleteDomain

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

AttachDevice

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

DetachDevice

Pointeur vers la fonction de rappel IOMMU_DOMAIN_DETACH_DEVICE qui détache un appareil d’un domaine.

FlushDomain

Pointeur vers la fonction de rappel IOMMU_FLUSH_DOMAIN qui vide l’équilibrage de charge de charge pour toutes les entrées correspondant à ce domaine.

FlushDomainByVaList

Pointeur vers la fonction de rappel 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 de rappel IOMMU_QUERY_INPUT_MAPPINGS qui tente de rechercher les 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 de rappel IOMMU_MAP_LOGICAL_RANGE qui mappe une plage de pages dans l’espace d’adressage du domaine spécifié.

UnmapLogicalRange

Pointeur vers la fonction de rappel IOMMU_UNMAP_LOGICAL_RANGE qui annule le mappage d’une plage de pages.

MapIdentityRange

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

UnmapIdentityRange

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

SetDeviceFaultReporting

Pointeur vers la fonction de rappel 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 de rappel IOMMU_DOMAIN_CONFIGURE qui configure un domaine à utiliser.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10 version 1803
En-tête wdm.h