estrutura DMA_IOMMU_INTERFACE_V2 (wdm.h)

Uma estrutura que contém o conjunto de funções IOMMU Versão 2 (V2).

Sintaxe

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;

Membros

CreateDomainEx

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

DeleteDomain

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

AttachDeviceEx

Um ponteiro para a função IOMMU_DOMAIN_ATTACH_DEVICE_EX que anexa um dispositivo a um domínio.

DetachDeviceEx

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

FlushDomain

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

FlushDomainByVaList

Um ponteiro para a função IOMMU_FLUSH_DOMAIN_VA_LIST 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 a função IOMMU_QUERY_INPUT_MAPPINGS 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.

MapLogicalRangeEx

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

UnmapLogicalRange

Um ponteiro para a função IOMMU_UNMAP_LOGICAL_RANGE que não corresponde a um intervalo de páginas.

MapIdentityRangeEx

Um ponteiro para a função IOMMU_MAP_IDENTITY_RANGE_EX que cria um mapeamento de identidade para o endereço físico fornecido no domínio fornecido.

UnmapIdentityRangeEx

Um ponteiro para a função IOMMU_UNMAP_IDENTITY_RANGE_EX que exclui um mapeamento de identidade para o endereço físico especificado.

SetDeviceFaultReportingEx

Um ponteiro para a função IOMMU_SET_DEVICE_FAULT_REPORTING_EX que define o estado de relatório de falhas do dispositivo em um dispositivo já anexado a um domínio.

ConfigureDomain

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

QueryAvailableDomainTypes

Um ponteiro para a função IOMMU_DEVICE_QUERY_DOMAIN_TYPES que consulta os tipos de domínios disponíveis aos quais um dispositivo tem permissão para anexar, dependendo de fatores de ambiente, como a plataforma e a política do DMA Guard.

RegisterInterfaceStateChangeCallback

Um ponteiro para a função IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK que permite que o chamador registre um retorno de chamada a ser invocado sempre que qualquer alteração de estado relacionada à interface IOMMU ocorrer.

UnregisterInterfaceStateChangeCallback

Um ponteiro para a função IOMMU_UNREGISTER_INTERFACE_STATE_CHANGE_CALLBACK que permite ao chamador cancelar o registro de um retorno de chamada registrado.

ReserveLogicalAddressRange

Um ponteiro para a função IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE que pré-aloca o espaço de endereço lógico que pode ser usado para mapeamentos futuros.

FreeReservedLogicalAddressRange

Um ponteiro para a função IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE que libera um token de endereço lógico.

MapReservedLogicalRange

Um ponteiro para a função IOMMU_MAP_RESERVED_LOGICAL_RANGE que mapeia um intervalo lógico reservado.

UnmapReservedLogicalRange

Um ponteiro para a função IOMMU_UNMAP_RESERVED_LOGICAL_RANGE que desmapea um intervalo lógico reservado mapeado anteriormente.

CreateDevice

Um ponteiro para a função IOMMU_DEVICE_CREATE que usa um objeto de dispositivo físico e cria um IOMMU_DMA_DEVICE.

DeleteDevice

Um ponteiro para a função IOMMU_DEVICE_DELETE que exclui um IOMMU_DMA_DEVICE.

Requisitos

Requisito Valor
Servidor mínimo com suporte Windows Server 2022
Cabeçalho wdm.h (include Wdm.h)

Confira também

DMA_IOMMU_INTERFACE_EX