PDRIVER_IO_PORT_UCHAR función de devolución de llamada (video.h)

SvgaHwIoPortUchar intercepta un puerto de E/S al que una aplicación MS-DOS de pantalla completa en una máquina basada en x86 envía datos de tamaño UCHAR.

Sintaxis

PDRIVER_IO_PORT_UCHAR PdriverIoPortUchar;

VP_STATUS PdriverIoPortUchar(
  ULONG_PTR Context,
  ULONG Port,
  UCHAR AccessMode,
  PUCHAR Data
)
{...}

Parámetros

Context

Especifica el valor de contexto definido por el controlador de miniporte que se estableció en el miembro EmulatorAccessEntriesContext de VIDEO_PORT_CONFIG_INFO.

Port

Especifica el puerto de E/S asignado que se va a interceptar.

AccessMode

Especifica el tipo de acceso que se va a interceptar, que puede ser una o una combinación (ORed) de los valores siguientes:

EMULATOR_READ_ACCESS
EMULATOR_WRITE_ACCESS

Data

Puntero al byte que se va a transferir.

Valor devuelto

SvgaHwIoPortUchar devuelve el estado final de la operación.

Comentarios

Solo los controladores miniporte de adaptadores SVGA compatibles con VGA tienen funciones SvgaHwIoPortXxx . (Consulte Funciones SVGA).

SvgaHwIoPortUchar intercepta cualquier acceso de bytes intentado por una aplicación MS-DOS de pantalla completa que emite o ambas instrucciones OUT DX, AL e IN AL, DX.

Si el controlador de minipuerto habilita el puerto para el acceso directo mediante una llamada a VideoPortSetTrappedEmulatorPorts, no se llamará a su función SvgaHwIoPortUchar . Esta aplicación tendrá acceso directo al puerto, a menos que el controlador de minipuerto deshabilite el puerto con otra llamada a VideoPortSetTrappedEmulatorPorts.

Si una o varias instrucciones x86 in o OUT emitidas por la aplicación podrían afectar al estado del registro del secuenciador de adaptadores compatible con VGA, al registro de salida varios o a cualquier registro específico del adaptador y, por lo tanto, hacer que la máquina se bloquee, el controlador de miniporte no debe habilitar el puerto para el acceso directo mediante una llamada a VideoPortSetTrappedEmulatorPorts.

SvgaHwIoPortUchar debe almacenar en búfer las instrucciones posteriores de la aplicación al puerto y comprobar que ninguna puede bloquear la máquina. Si la aplicación emite cualquier secuencia de instrucciones que pudiera bloquear la máquina, SvgaHwIoPortUchar debe descartar las instrucciones almacenadas en búfer. De lo contrario, debe generarlos, una UCHAR a la vez, en el puerto de E/S asignado especificado.

SvgaHwIoPortUchar debe ser paginable.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado video.h (incluir Video.h)

Consulte también

EMULATOR_ACCESS_ENTRY

Funciones SVGA

SvgaHwIoPortUcharString

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts