PDRIVER_IO_PORT_UCHAR função de retorno de chamada (video.h)
SvgaHwIoPortUchar intercepta uma porta de E/S para a qual um aplicativo MS-DOS de tela inteira em um computador baseado em x86 está enviando dados do tamanho de UCHAR.
Sintaxe
PDRIVER_IO_PORT_UCHAR PdriverIoPortUchar;
VP_STATUS PdriverIoPortUchar(
ULONG_PTR Context,
ULONG Port,
UCHAR AccessMode,
PUCHAR Data
)
{...}
Parâmetros
Context
Especifica o valor de contexto definido pelo driver de miniport que foi definido no membro EmulatorAccessEntriesContext do VIDEO_PORT_CONFIG_INFO.
Port
Especifica a porta de E/S mapeada a ser presa.
AccessMode
Especifica o tipo de acesso a ser interceptado, que pode ser uma ou uma combinação (ORed) dos seguintes valores:
- EMULATOR_READ_ACCESS
- EMULATOR_WRITE_ACCESS
Data
Ponteiro para o byte a ser transferido.
Retornar valor
SvgaHwIoPortUchar retorna a status final da operação.
Comentários
Somente drivers de miniporta de adaptadores SVGA compatíveis com VGA têm funções SvgaHwIoPortXxx . (Consulte Funções SVGA.)
SvgaHwIoPortUchar intercepta qualquer acesso de byte tentado por um aplicativo MS-DOS de tela inteira que emite ou ambas as instruções OUT DX, AL e IN AL, DX.
Se o driver de miniporto habilitar a Porta para acesso direto chamando VideoPortSetTrappedEmulatorPorts, sua função SvgaHwIoPortUchar não será chamada. Em seguida, esse aplicativo terá acesso direto à Porta, a menos que o driver de miniporta desabilite a Porta com outra chamada para VideoPortSetTrappedEmulatorPorts.
Se uma ou mais instruções X86 IN ou OUT emitidas pelo aplicativo puderem 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, causar o travamento do computador, o driver de miniporto não deverá habilitar a porta para acesso direto chamando VideoPortSetTrappedEmulatorPorts.
SvgaHwIoPortUchar deve armazenar em buffer as instruções subsequentes do aplicativo para a Porta e marcar que nenhuma pode travar o computador. Se o aplicativo emitir qualquer sequência de instruções que possam travar o computador, SvgaHwIoPortUchar deverá descartar as instruções armazenadas em buffer. Caso contrário, ele deverá gerá-los, um UCHAR por vez, para a porta de E/S mapeada especificada.
SvgaHwIoPortUchar deve ser tornado paginável.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | video.h (incluir Video.h) |