PDRIVER_IO_PORT_USHORT Rückruffunktion (video.h)

SvgaHwIoPortUshort erfasst einen E/A-Portbereich, an den eine MS-DOS-Vollbildanwendung auf einem x86-basierten Computer eine Sequenz von USHORT-Daten sendet.

Syntax

PDRIVER_IO_PORT_USHORT PdriverIoPortUshort;

VP_STATUS PdriverIoPortUshort(
  ULONG_PTR Context,
  ULONG Port,
  UCHAR AccessMode,
  PUSHORT Data
)
{...}

Parameter

Context

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

Port

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

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 übertragenden USHORT-Daten.

Rückgabewert

SvgaHwIoPortUshort gibt den letzten status des Vorgangs zurück.

Hinweise

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

SvgaHwIoPortUshort fängt jeden Bereichszugriff ab, der von einer MS-DOS-Vollbildanwendung versucht wird, die anweisungen OUT DX, AX und IN AX, DX ausgibt.

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

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 den Computer hängen lassen, darf der Miniporttreiber den Port nicht für den direkten Zugriff aktivieren, indem VideoPortSetTrappedEmulatorPorts aufgerufen wird.

SvgaHwIoPortUshort muss nachfolgende Anweisungen aus der Anwendung puffern und überprüfen, ob der Computer nicht hängen kann. Wenn die Anwendung eine Sequenz von Anweisungen ausgibt, die den Computer möglicherweise hängen lassen, muss SvgaHwIoPortUshort die gepufferten Anweisungen verwerfen. Andernfalls sollte sie jeweils ein USHORT-Element an den angegebenen, zugeordneten E/A-Port ausgegeben werden.

SvgaHwIoPortUshort sollte als ausserstellbar gemacht werden.

Anforderungen

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

Weitere Informationen

EMULATOR_ACCESS_ENTRY

SVGA-Funktionen

SvgaHwIoPortUshortString

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts