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) |