estructura de DMA_IOMMU_INTERFACE_V2 (wdm.h)

Estructura que contiene el conjunto de funciones de IOMMU Versión 2 (V2).

Sintaxis

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;

Miembros

CreateDomainEx

Puntero a la función IOMMU_DOMAIN_CREATE_EX que crea un dominio de dispositivo de reasignación de DMA.

DeleteDomain

Puntero a la función IOMMU_DOMAIN_DELETE que elimina un dominio de dispositivo.

AttachDeviceEx

Puntero a la función IOMMU_DOMAIN_ATTACH_DEVICE_EX que conecta un dispositivo a un dominio.

DetachDeviceEx

Puntero a la función IOMMU_DOMAIN_DETACH_DEVICE_EX que separa un dispositivo de un dominio.

FlushDomain

Puntero a la función IOMMU_FLUSH_DOMAIN que vacía el TLB para todas las entradas que coinciden con este dominio.

FlushDomainByVaList

Puntero a la función IOMMU_FLUSH_DOMAIN_VA_LIST que vacía el TLB para todas las entradas que coinciden con el ASID del dominio especificado y una de las direcciones de la lista proporcionada.

QueryInputMappings

Puntero a la función IOMMU_QUERY_INPUT_MAPPINGS que intenta buscar identificadores de asignación de entrada que son válidos para el dispositivo determinado y rellenar el búfer proporcionado con esos identificadores.

MapLogicalRangeEx

Puntero a la función IOMMU_MAP_LOGICAL_RANGE_EX que asigna un intervalo de páginas al espacio de direcciones del dominio especificado.

UnmapLogicalRange

Puntero a la función IOMMU_UNMAP_LOGICAL_RANGE que desasignación de un intervalo de páginas.

MapIdentityRangeEx

Puntero a la función IOMMU_MAP_IDENTITY_RANGE_EX que crea una asignación de identidad para la dirección física proporcionada en el dominio proporcionado.

UnmapIdentityRangeEx

Puntero a la función IOMMU_UNMAP_IDENTITY_RANGE_EX que elimina una asignación de identidad para la dirección física especificada.

SetDeviceFaultReportingEx

Puntero a la función IOMMU_SET_DEVICE_FAULT_REPORTING_EX que establece el estado de notificación de errores del dispositivo en un dispositivo ya conectado a un dominio.

ConfigureDomain

Puntero a la función IOMMU_DOMAIN_CONFIGURE que configura un dominio para su uso.

QueryAvailableDomainTypes

Puntero a la función IOMMU_DEVICE_QUERY_DOMAIN_TYPES que consulta los tipos de dominios disponibles a los que un dispositivo puede asociar, en función de los factores de entorno, como la plataforma y la directiva DMA Guard.

RegisterInterfaceStateChangeCallback

Puntero a la función IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK que permite al autor de la llamada registrar una devolución de llamada que se invocará cada vez que se produzca cualquier cambio de estado relacionado con la interfaz IOMMU.

UnregisterInterfaceStateChangeCallback

Puntero a la función IOMMU_UNREGISTER_INTERFACE_STATE_CHANGE_CALLBACK que permite al autor de la llamada anular el registro de una devolución de llamada registrada.

ReserveLogicalAddressRange

Puntero a la función IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE que asigna previamente el espacio de direcciones lógico que se puede usar para futuras asignaciones.

FreeReservedLogicalAddressRange

Puntero a la función IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE que libera un token de dirección lógica.

MapReservedLogicalRange

Puntero a la función IOMMU_MAP_RESERVED_LOGICAL_RANGE que asigna un intervalo lógico reservado.

UnmapReservedLogicalRange

Puntero a la función IOMMU_UNMAP_RESERVED_LOGICAL_RANGE que desasigna un intervalo lógico reservado asignado previamente.

CreateDevice

Puntero a la función IOMMU_DEVICE_CREATE que toma un objeto de dispositivo físico y crea un IOMMU_DMA_DEVICE.

DeleteDevice

Puntero a la función IOMMU_DEVICE_DELETE que elimina un IOMMU_DMA_DEVICE.

Requisitos

Requisito Value
Servidor mínimo compatible Windows Server 2022
Encabezado wdm.h (incluya Wdm.h)

Consulte también

DMA_IOMMU_INTERFACE_EX