estrutura DMA_IOMMU_INTERFACE (wdm.h)

Uma versão estendida da estrutura INTERFACE que permite que os drivers de dispositivo invoquem as funções de retorno de chamada que executam operações de domínio do dispositivo.

Cuidado

DMA_IOMMU_INTERFACEfoi preterido em Windows 10, versão 2103 e foi substituído por DMA_IOMMU_INTERFACE_EX.

Sintaxe

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;

Membros

Version

A versão da interface definida pelo driver.

CreateDomain

Um ponteiro para a função de retorno de chamada IOMMU_DOMAIN_CREATE que cria um domínio de dispositivo de remapeamento de DMA.

DeleteDomain

Um ponteiro para a função de retorno de chamada IOMMU_DOMAIN_DELETE que exclui um domínio do dispositivo.

AttachDevice

Um ponteiro para a função de retorno de chamada IOMMU_DOMAIN_ATTACH_DEVICE que anexa um dispositivo a um domínio.

DetachDevice

Um ponteiro para a função de retorno de chamada IOMMU_DOMAIN_DETACH_DEVICE que desanexa um dispositivo de um domínio.

FlushDomain

Um ponteiro para a função de retorno de chamada IOMMU_FLUSH_DOMAIN que libera o TLB para todas as entradas que correspondem a esse domínio.

FlushDomainByVaList

Um ponteiro para o IOMMU_FLUSH_DOMAIN_VA_LIST função de retorno de chamada que libera o TLB para todas as entradas que correspondem ao ASID do domínio especificado e um dos endereços na lista fornecida.

QueryInputMappings

Um ponteiro para o IOMMU_QUERY_INPUT_MAPPINGS função de retorno de chamada que tenta localizar IDs de mapeamento de entrada que são válidas para o dispositivo especificado e preenchem o buffer fornecido com essas IDs.

MapLogicalRange

Um ponteiro para a função de retorno de chamada IOMMU_MAP_LOGICAL_RANGE que mapeia um intervalo de páginas para o espaço de endereço do domínio especificado.

UnmapLogicalRange

Um ponteiro para o IOMMU_UNMAP_LOGICAL_RANGE função de retorno de chamada que cancela omaps de um intervalo de páginas.

MapIdentityRange

Um ponteiro para a função de retorno de chamada IOMMU_MAP_IDENTITY_RANGE que cria um mapeamento de identidade para o MDL fornecido no domínio especificado.

UnmapIdentityRange

Um ponteiro para a função de retorno de chamada IOMMU_UNMAP_IDENTITY_RANGE que exclui um mapeamento de identidade.

SetDeviceFaultReporting

Um ponteiro para a função de retorno de chamada IOMMU_SET_DEVICE_FAULT_REPORTING que define o estado de relatório de falha do dispositivo para o dispositivo já anexado a um domínio.

ConfigureDomain

Um ponteiro para a função de retorno de chamada IOMMU_DOMAIN_CONFIGURE que configura um domínio para uso.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1803
Cabeçalho wdm.h