Partilhar via


PDRIVER_IO_PORT_USHORT_STRING função de retorno de chamada (video.h)

SvgaHwIoPortUshortString intercepta um intervalo de portas de E/S para o qual um aplicativo de MS-DOS de tela inteira em um computador baseado em x86 está enviando uma sequência de dados do tamanho de USHORT.

Sintaxe

PDRIVER_IO_PORT_USHORT_STRING PdriverIoPortUshortString;

VP_STATUS PdriverIoPortUshortString(
  ULONG_PTR Context,
  ULONG Port,
  UCHAR AccessMode,
  PUSHORT Data,
  ULONG DataLength
)
{...}

Parâmetros

Context

Especifica o valor de contexto determinado pelo driver do miniport que foi definido em EmulatorAccessEntriesContext de VIDEO_PORT_CONFIG_INFO.

Port

Especifica a porta de E/S mapeada a ser presa.

AccessMode

Especifica o tipo de acesso permitido, que pode ser um ou uma combinação (ORed) dos seguintes valores:

EMULATOR_READ_ACCESS
EMULATOR_WRITE_ACCESS

Data

Ponteiro para a cadeia de caracteres de valores de dados USHORT a serem transferidos. Essa cadeia de caracteres é acessada com um valor de cada vez até que todos os valores tenham sido fisgados.

DataLength

Especifica o número de valores USHORT na cadeia de caracteres.

Valor de retorno

SvgaHwIoPortUshortString retorna o status final da operação.

Observações

Somente os drivers de miniport de adaptadores SVGA compatíveis com VGA têm funções SvgaHwIoPortXxx. (Consulte Funções SVGA.)

SvgaHwIoPortUshortString intercepta qualquer acesso de intervalo tentado por um aplicativo de MS-DOS de tela inteira que emite ou ambas as instruções REP OUTSW DX, ESI e REP INSW EDI, DX.

Se o driver de miniporto habilitar o intervalo de de Porta para acesso direto chamando VideoSetTrappedEmulatorPorts, sua função SvgaHwIoPortUshortString não será chamada. Em seguida, esse aplicativo terá acesso direto ao intervalo de portas de E/S, a menos que o driver de miniporto desabilite o intervalo de de Porta com outra chamada para VideoSetTrappedEmulatorPorts.

Se um ou mais DO INSW emitido pelo aplicativo ou OUTSW instruções poderão afetar o estado do registro do sequenciador do adaptador compatível com VGA, registro de saída diverso ou qualquer registro específico do adaptador e, assim, fazer com que o computador seja travado, o driver de miniporto deve não habilitar a porta para acesso direto chamando VideoPortSetTrappedEmulatorPorts.

SvgaHwIoPortUshortString deve armazenar em buffer as instruções subsequentes do aplicativo e verificar se nenhum deles pode desligar o computador. Se o aplicativo emitir qualquer sequência de instruções que possam travar o computador, SvgaHwIoPortUshortString deverá descartar as instruções em buffer. Caso contrário, ele deverá gerar um USHORT por vez para a porta de E/S mapeada especificada.

SvgaHwIoPortUshortString deve ficar paginável.

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho video.h (inclua Video.h)

Consulte também

EMULATOR_ACCESS_ENTRY

Funções SVGA

SvgaHwIoPortUshort

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts