Compartilhar via


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

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

Sintaxe

PDRIVER_IO_PORT_ULONG_STRING PdriverIoPortUlongString;

VP_STATUS PdriverIoPortUlongString(
  ULONG_PTR Context,
  ULONG Port,
  UCHAR AccessMode,
  PULONG Data,
  ULONG DataLength
)
{...}

Parâmetros

Context

Especifica o valor de contexto determinado pelo driver de miniport que foi definido no membro 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 uma ou uma combinação (ORed) dos seguintes valores:

EMULATOR_READ_ACCESS
EMULATOR_WRITE_ACCESS

Data

Ponteiro para a cadeia de caracteres de dados ULONG a ser transferida. A cadeia de caracteres é conectada a um valor por vez até que tudo seja usado.

DataLength

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

Retornar valor

SvgaHwIoPortUlongString retorna a status final da operação.

Comentários

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

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

Se o driver de miniporto habilitar o intervalo de portas para acesso direto chamando VideoSetTrappedEmulatorPorts, sua função SvgaHwIoPortUlongString 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 portas com outra chamada para VideoSetTrappedEmulatorPorts.

Se uma ou mais instruções de INSD ou OUTSD x86 emitidas pelo aplicativo podem afetar o estado do registro do sequenciador de adaptador compatível com VGA, o 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 não deverá habilitar a porta para acesso direto chamando VideoPortSetTrappedEmulatorPorts.

SvgaHwIoPortUlongString deve armazenar em buffer as instruções subsequentes do aplicativo e marcar que nenhuma pode travar o computador. Se o aplicativo emitir qualquer sequência de instruções que possam travar o computador, SvgaHwIoPortUlongString deverá descartar as instruções armazenadas em buffer. Caso contrário, ele deverá gerá-los, um ULONG de cada vez, para a porta de E/S mapeada especificada.

SvgaHwIoPortUlongString deve se tornar paginável.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho video.h (inclua Video.h)

Confira também

EMULATOR_ACCESS_ENTRY

Funções SVGA

SvgaHwIoPortUlong

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts