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) |