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 MS-DOS de tela inteira em um computador baseado em x86 está enviando uma sequência de dados do tamanho do 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 de 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 uma 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 um valor por vez até que todos os valores tenham sido fisgados.
DataLength
Especifica o número de valores USHORT na cadeia de caracteres.
Retornar valor
SvgaHwIoPortUshortString 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.)
SvgaHwIoPortUshortString intercepta qualquer acesso de intervalo tentado por um aplicativo 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 portas 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 miniporta desabilite o intervalo de portas com outra chamada para VideoSetTrappedEmulatorPorts.
Se uma ou mais instruções de INSW ou OUTSW x86 emitidas pelo aplicativo podem afetar o estado do registro do sequenciador de adaptador compatível com VGA, o registro de saída diversos 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.
SvgaHwIoPortUshortString 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, SvgaHwIoPortUshortString deverá descartar as instruções armazenadas em buffer. Caso contrário, ele deverá gerá-los, um USHORT por vez, para a porta de E/S mapeada especificada.
SvgaHwIoPortUshortString deve ser tornado paginável.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | video.h (incluir Video.h) |