PDRIVER_IO_PORT_UCHAR_STRING Rückruffunktion (video.h)
SvgaHwIoPortUcharString fangen einen E/A-Port auf, an den eine Vollbild-MS-DOS Anwendung auf einem x86-basierten Computer eine Abfolge von UCHAR-Größendaten 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 Zulässigen Zugriffstyp 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. Es wird jeweils ein Zeichen eingehakt, bis die gesamte Zeichenfolge übertragen wird.
DataLength
Gibt die Anzahl der UCHAR-Werte in der Zeichenfolge an.
Rückgabewert
SvgaHwIoPortUcharString den endgültigen Status des Vorgangs zurück.
Bemerkungen
Nur Miniporttreiber von VGA-kompatiblen SVGA-Adaptern haben SvgaHwIoPortXxx Funktionen. (Siehe SVGA Functions.)
SvgaHwIoPortUcharString jeden Bytezugriff abfangen, der von einer Vollbild-MS-DOS Anwendung versucht wird, die entweder oder beide Anweisungen REP OUTSB DX, ESI und REP INSB EDI, DXausgibt.
Wenn der Miniporttreiber den Port für den direkten Zugriff aktiviert, indem VideoSetTrappedEmulatorPortsaufgerufen wird, 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 anderen Aufruf an VideoSetTrappedEmulatorPorts.
Wenn eine oder mehrere anwendungsbezogene x86-INSB- oder OUTSB- Anweisungen sich auf den Zustand des VGA-kompatiblen Adapterabfolgers, verschiedene Ausgaberegister oder adapterspezifische Register auswirken und dadurch dazu führen, dass der Computer hängen bleibt, muss der Miniporttreiber den Port für den direkten Zugriff nicht durch Aufrufen VideoPortSetTrappedEmulatorPortsaktivieren.
SvgaHwIoPortUcharString müssen nachfolgende Anweisungen der Anwendung puffern und überprüfen, ob keines den Computer hängen kann. Wenn die Anwendung eine Abfolge von Anweisungen ausgibt, die den Computer möglicherweise hängen, muss SvgaHwIoPortUcharString die gepufferten Anweisungen verwerfen. Andernfalls sollte eine UCHAR gleichzeitig an den angegebenen, zugeordneten E/A-Port ausgegeben werden.
SvgaHwIoPortUcharString sollte seitenfähig gemacht werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | video.h (video.h einschließen) |