PDRIVER_IO_PORT_UCHAR Rückruffunktion (video.h)

SvgaHwIoPortUchar erfasst einen E/A-Port, an den eine VOLLBILD-MS-DOS-Anwendung auf einem x86-basierten Computer Daten im UCHAR-Format sendet.

Syntax

PDRIVER_IO_PORT_UCHAR PdriverIoPortUchar;

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

Parameter

Context

Gibt den vom Miniporttreiber definierten Kontextwert an, der im EmulatorAccessEntriesContext-Membervon VIDEO_PORT_CONFIG_INFO festgelegt wurde.

Port

Gibt den zugeordneten E/A-Port an, der abgefangen werden soll.

AccessMode

Gibt den Typ des zu fangenden Zugriffs an, der eine oder eine Kombination (ORed) der folgenden Werte sein kann:

EMULATOR_READ_ACCESS
EMULATOR_WRITE_ACCESS

Data

Zeiger auf das zu übertragende Byte.

Rückgabewert

SvgaHwIoPortUchar gibt die letzte status des Vorgangs zurück.

Hinweise

Nur Miniporttreiber von VGA-kompatiblen SVGA-Adaptern verfügen über SvgaHwIoPortXxx-Funktionen . (Siehe SVGA-Funktionen.)

SvgaHwIoPortUchar fängt jeden Bytezugriff ab, der von einer MS-DOS-Vollbildanwendung versucht wird, die entweder oder beide Anweisungen OUT DX, AL und IN AL, DX ausgibt.

Wenn der Miniporttreiber den Port für den direkten Zugriff durch Aufruf von VideoPortSetTrappedEmulatorPorts aktiviert, wird die SvgaHwIoPortUchar-Funktion nicht aufgerufen. Eine solche Anwendung hat dann direkten Zugriff auf den Port, es sei denn, der Miniporttreiber deaktiviert den Port mit einem anderen Aufruf von VideoPortSetTrappedEmulatorPorts.

Wenn eine oder mehrere von der Anwendung ausgestellte x86-IN- oder OUT-Anweisungen den Zustand des VGA-kompatiblen Adaptersequenzerregisters, des sonstigen Ausgaberegisters oder eines adapterspezifischen Registers beeinflussen und dadurch das Gerät hängen lassen, darf der Miniporttreiber den Port nicht für den direkten Zugriff aktivieren, indem VideoPortSetTrappedEmulatorPorts aufgerufen wird.

SvgaHwIoPortUchar muss nachfolgende Anweisungen von der Anwendung an den Port puffern und überprüfen, ob keine den Computer hängen kann. Wenn die Anwendung eine Sequenz von Anweisungen ausgibt, die den Computer hängen könnten, muss SvgaHwIoPortUchar die gepufferten Anweisungen verwerfen. Andernfalls sollten sie jeweils eine UCHAR an den angegebenen zugeordneten E/A-Port ausgeben.

SvgaHwIoPortUchar sollte seitenfähig gemacht werden.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile video.h (einschließen von Video.h)

Weitere Informationen

EMULATOR_ACCESS_ENTRY

SVGA-Funktionen

SvgaHwIoPortUcharString

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts