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