EMULATOR_ACCESS_ENTRY estructura (miniport.h)

La estructura EMULATOR_ACCESS_ENTRY especifica un elemento de la matriz EmulatorAccessEntries configurada en la estructura VIDEO_PORT_CONFIG_INFO por controladores de adaptadores compatibles con VGA (SVGA) en plataformas de sistema operativo basadas en NT basadas en x86.

Sintaxis

typedef struct _EMULATOR_ACCESS_ENTRY {
  ULONG                     BasePort;
  ULONG                     NumConsecutivePorts;
  EMULATOR_PORT_ACCESS_TYPE AccessType;
  UCHAR                     AccessMode;
  UCHAR                     StringSupport;
  PVOID                     Routine;
} EMULATOR_ACCESS_ENTRY, *PEMULATOR_ACCESS_ENTRY;

Miembros

BasePort

Especifica la dirección física relativa al bus del puerto o los puertos de E/S que el emulador V86 enlazará. Este valor y el intervalo de puertos deben estar dentro de un intervalo de acceso de puertos de E/S ya reclamados en el registro por VideoPortGetAccessRanges o VideoPortVerifyAccessRanges.

NumConsecutivePorts

Especifica el número de puertos consecutivos que enlazará el emulador V86, empezando en BasePort. Este valor viene determinado por el ancho de cada puerto de E/S enganchado. Por ejemplo, si las direcciones de puerto 0x3C0 y 0x3C1 se enlazan como un único puerto direccionable de USHORT, este valor debe ser 1.

AccessType

Especifica el tamaño de los datos transferidos a través del puerto de E/S especificado como uno de Uchar, Ulong o Ushort.

AccessMode

Especifica cómo se puede tener acceso al puerto de E/S especificado como una o una combinación (ORed) de los valores siguientes:

  • EMULATOR_READ_ACCESS

  • EMULATOR_WRITE_ACCESS

El intervalo de puertos de E/S debe ser accesible en al menos uno de los modos anteriores.

StringSupport

Indica si la función SvgaHwIoPortXxx proporcionada por el controlador admite accesos de cadena en casos en los que muchos valores del accessType especificado se "bombean" a través de un puerto de E/S consecutivamente. Si este miembro se establece en TRUE, el miembro Routine debe especificar el punto de entrada de una función SvgaHwIoPortXxxString proporcionada por el controlador miniportador.

Routine

Puntero al svgaHwIoPortXxx del controlador de minipuerto que controla el acceso al puerto o a los puertos descritos en esta estructura.

Comentarios

Los controladores de miniporte compatibles con VGA del hardware de vídeo SVGA en máquinas basadas en x86 deben definir rangos de acceso del emulador, que un controlador miniporte compatible con VGA puede configurarse con VideoPortSetTrappedEmulatorPorts para tener acceso directamente desde aplicaciones MS-DOS de pantalla completa para una E/S más rápida. Este controlador debe proporcionar un conjunto de funciones SvgaHwIoPortXxx para validar cualquier secuencia de IN emitido por la aplicación, INSB/INSW/INSDs, OUTs o OUTSB/OUTSW/OUTSD encada intervalo de puertos de E/S.

Los datos de cada elemento de tipo EMULATOR_ACCESS_ENTRY se usan para determinar qué puertos de E/S (ubicaciones de memoria en las que se puede acceder a los registros de adaptadores) en los intervalos de acceso del controlador de minipuerto se han tomado del emulador V86 en plataformas basadas en x86. Los valores escritos en estas ubicaciones por las aplicaciones MS-DOS de pantalla completa se capturan y reenvían a la función SvgaHwIoPortXxx correspondiente del controlador de miniporte para la validación antes de que se escriban o lean desde el adaptador de vídeo. Sin embargo, el controlador de minipuerto puede permitir que la aplicación acceda directamente a intervalos de puertos de E/S concretos mediante una llamada a VideoPortSetTrappedEmulatorPorts para mejorar el rendimiento.

Requisitos

Requisito Valor
Header miniport.h (incluir Miniport.h)

Consulte también

VIDEO_PORT_CONFIG_INFO

VideoPortVerifyAccessRanges

VideoPortSetTrappedEmulatorPorts

VIDEO_ACCESS_RANGE

VideoPortGetAccessRanges