PDRIVER_IO_PORT_UCHAR_STRING Rückruffunktion (video.h)

SvgaHwIoPortUcharString fängt einen E/A-Port ab, an den eine MS-DOS-Vollbildanwendung auf einem x86-basierten Computer eine Sequenz von Daten im UCHAR-Format sendet.

Syntax

PDRIVER_IO_PORT_UCHAR_STRING PdriverIoPortUcharString;

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

Parameter

Context

Gibt den vom Miniporttreiber ermittelten Kontextwert an, der im EmulatorAccessEntriesContext-Member von VIDEO_PORT_CONFIG_INFO festgelegt wurde.

Port

Gibt den zugeordneten E/A-Port an.

AccessMode

Gibt den Typ des zulässigen Zugriffs an, der eine oder eine Kombination (ORed) der folgenden Werte sein kann:

EMULATOR_READ_ACCESS
EMULATOR_WRITE_ACCESS

Data

Zeiger auf die zu übertragende UCHAR-Zeichenfolge. Ein Zeichen nach dem anderen wird eingebunden, bis die gesamte Zeichenfolge übertragen wird.

DataLength

Gibt die Anzahl der UCHAR-Werte in der Zeichenfolge an.

Rückgabewert

SvgaHwIoPortUcharString gibt den letzten status des Vorgangs zurück.

Hinweise

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

SvgaHwIoPortUcharString fängt jeden Bytezugriff ab, der von einer MS-DOS-Vollbildanwendung versucht wird, die entweder oder beide Anweisungen ausgibt REP OUTSB DX, ESI und REP INSB EDI, DX.

Wenn der Miniporttreiber den Port für den direkten Zugriff durch Aufruf von VideoSetTrappedEmulatorPorts aktiviert, wird die SvgaHwIoPortUcharString-Funktion nicht aufgerufen. Eine solche Anwendung hat dann direkten Zugriff auf den E/A-Port, es sei denn, der Miniporttreiber deaktiviert den Port mit einem weiteren Aufruf von VideoSetTrappedEmulatorPorts.

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

SvgaHwIoPortUcharString muss nachfolgende Anweisungen aus der Anwendung 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 SvgaHwIoPortUcharString die gepufferten Anweisungen verwerfen. Andernfalls sollten sie jeweils eine UCHAR an den angegebenen zugeordneten E/A-Port ausgeben.

SvgaHwIoPortUcharString 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

SvgaHwIoPortUchar

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts