estrutura EMULATOR_ACCESS_ENTRY (miniport.h)

A estrutura EMULATOR_ACCESS_ENTRY especifica um elemento na matriz EmulatorAccessEntries configurada na estrutura VIDEO_PORT_CONFIG_INFO por drivers de adaptadores compatíveis com VGA (SVGA) em plataformas de sistema operacional baseadas em NT baseadas em x86.

Sintaxe

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;

Membros

BasePort

Especifica o endereço físico relativo ao barramento da porta de E/S ou portas a serem conectadas pelo emulador V86. Esse valor e o intervalo de portas devem estar dentro de um intervalo de acesso de portas de E/S já reivindicadas no registro por VideoPortGetAccessRanges ou VideoPortVerifyAccessRanges.

NumConsecutivePorts

Especifica o número de portas consecutivas a serem conectadas pelo emulador V86, começando em BasePort. Esse valor é determinado pela largura de cada porta de E/S conectada. Por exemplo, se os endereços de porta 0x3C0 e 0x3C1 estiverem conectados como uma única porta endereçável usHORT, esse valor deverá ser 1.

AccessType

Especifica o tamanho dos dados transferidos por meio da porta de E/S fornecida como um de Uchar, Ulong ou Ushort.

AccessMode

Especifica como a porta de E/S fornecida pode ser acessada como uma ou uma combinação (ORed) dos seguintes valores:

  • EMULATOR_READ_ACCESS

  • EMULATOR_WRITE_ACCESS

O intervalo de portas de E/S deve estar acessível em pelo menos um dos modos anteriores.

StringSupport

Indica se a função SvgaHwIoPortXxxx fornecida pelo driver dá suporte a acessos de cadeia de caracteres nos casos em que muitos valores do AccessType fornecido são "bombeados" por meio de uma porta de E/S consecutivamente. Se esse membro estiver definido como TRUE, o membro Routine deverá especificar o ponto de entrada de uma função SvgaHwIoPortXxxString fornecida pelo driver de miniport.

Routine

Ponteiro para o SvgaHwIoPortXxx do driver de miniport que manipula os acessos à porta ou portas descritas nessa estrutura.

Comentários

Os drivers de miniporto compatíveis com VGA do hardware de vídeo SVGA em computadores baseados em x86 devem definir intervalos de acesso do emulador, que um driver de miniporto compatível com VGA pode configurar com VideoPortSetTrappedEmulatorPorts para ser acessado diretamente de aplicativos MS-DOS de tela inteira para E/S mais rápida. Esse driver deve fornecer um conjunto de funções SvgaHwIoPortXxx para validar qualquer sequência de INsemitidos pelo aplicativo, INSB/INSW/INSDs, OUTs e/ou OUTSB/OUTSW/OUTSDs para cada intervalo de portas de E/S.

Os dados em cada elemento do tipo EMULATOR_ACCESS_ENTRY são usados para determinar quais portas de E/S (locais de memória nos quais os registros de adaptador estão acessíveis) nos intervalos de acesso do driver de miniporto foram tomados (conectados) pelo emulador V86 em plataformas baseadas em x86. Os valores gravados nesses locais por aplicativos MS-DOS em tela inteira são interceptados e encaminhados para a função SvgaHwIoPortXxxx correspondente do driver de miniport para validação antes de serem gravados ou lidos do adaptador de vídeo. No entanto, o driver de miniporto pode permitir que o aplicativo acesse diretamente determinados intervalos de portas de E/S chamando VideoPortSetTrappedEmulatorPorts para melhorar o desempenho.

Requisitos

Requisito Valor
Cabeçalho miniport.h (inclua Miniport.h)

Confira também

VIDEO_PORT_CONFIG_INFO

VideoPortVerifyAccessRanges

VideoPortSetTrappedEmulatorPorts

VIDEO_ACCESS_RANGE

VideoPortGetAccessRanges