PDRIVER_IO_PORT_USHORT_STRING Rückruffunktion (video.h)
SvgaHwIoPortUshortString fängt einen E/A-Portbereich ab, an den eine MS-DOS-Vollbildanwendung auf einem x86-basierten Computer eine Sequenz von USHORT-Daten sendet.
Syntax
PDRIVER_IO_PORT_USHORT_STRING PdriverIoPortUshortString;
VP_STATUS PdriverIoPortUshortString(
ULONG_PTR Context,
ULONG Port,
UCHAR AccessMode,
PUSHORT Data,
ULONG DataLength
)
{...}
Parameter
Context
Gibt den vom Miniporttreiber festgelegten Kontextwert an, der in EmulatorAccessEntriesContext 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 Zeichenfolge der zu übertragenden USHORT-Datenwerte. Auf diese Zeichenfolge wird wertübergreifend zugegriffen, bis alle Werte eingebunden wurden.
DataLength
Gibt die Anzahl der USHORT-Werte in der Zeichenfolge an.
Rückgabewert
SvgaHwIoPortUshortString gibt den letzten status des Vorgangs zurück.
Hinweise
Nur Miniporttreiber von VGA-kompatiblen SVGA-Adaptern verfügen über SvgaHwIoPortXxx-Funktionen . (Siehe SVGA-Funktionen.)
SvgaHwIoPortUshortString fängt jeden Bereichszugriff ab, der von einer MS-DOS-Vollbildanwendung versucht wird, die anweisungen REP OUTSW DX, ESI und REP INSW EDI, DX ausgibt.
Wenn der Miniporttreiber den Portbereich für den direkten Zugriff durch Aufruf von VideoSetTrappedEmulatorPorts aktiviert, wird seine SvgaHwIoPortUshortString-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 INSW - oder OUTSW-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.
SvgaHwIoPortUshortString 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 möglicherweise hängen, muss SvgaHwIoPortUshortString die gepufferten Anweisungen verwerfen. Andernfalls sollte sie jeweils ein USHORT-Element an den angegebenen, zugeordneten E/A-Port ausgegeben werden.
SvgaHwIoPortUshortString sollte als ausgelagert werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | video.h (Video.h einschließen) |