PDRIVER_IO_PORT_USHORT_STRING Rückruffunktion (video.h)
SvgaHwIoPortUshortString erfasst einen E/A-Portbereich, an den eine Vollbild-MS-DOS Anwendung auf einem x86-basierten Computer eine Abfolge von USHORT-Größendaten 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 miniport treiberbestimmten 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 Zulässigen Zugriffstyp an, der eine oder eine Kombination (ORed) der folgenden Werte sein kann:
- EMULATOR_READ_ACCESS
- EMULATOR_WRITE_ACCESS
Data
Zeigen Sie auf die Zeichenfolge der zu übertragenden USHORT-Datenwerte. Auf diese Zeichenfolge wird jeweils ein Wert zugegriffen, bis alle Werte eingebunden wurden.
DataLength
Gibt die Anzahl der USHORT-Werte in der Zeichenfolge an.
Rückgabewert
SvgaHwIoPortUshortString den endgültigen Status des Vorgangs zurück.
Bemerkungen
Nur Miniporttreiber von VGA-kompatiblen SVGA-Adaptern haben SvgaHwIoPortXxx Funktionen. (Siehe SVGA Functions.)
SvgaHwIoPortUshortString jeden Bereichszugriff abfangen, der von einer Vollbild-MS-DOS Anwendung versucht wird, die entweder oder beide Anweisungen REP OUTSW DX, ESI und REP INSW EDI, DXausgibt.
Wenn der Miniporttreiber den Port Bereich für den direkten Zugriff aktiviert, indem VideoSetTrappedEmulatorPortsaufgerufen wird, wird die SvgaHwIoPortUshortString-Funktion nicht aufgerufen. Eine solche Anwendung hat dann direkten Zugriff auf den E/A-Portbereich, es sei denn, der Miniporttreiber deaktiviert den Port Bereich mit einem anderen Aufruf von VideoSetTrappedEmulatorPorts.
Wenn eine oder mehrere anwendungsbezogene x86-INSW-- oder OUTSW- Anweisungen den Zustand des VGA-kompatiblen Adapterabfolgerregisters, verschiedene Ausgaberegister oder adapterspezifische Register beeinträchtigen und dadurch dazu führen, dass der Computer hängen bleibt, muss der Miniporttreiber den Port für den direkten Zugriff nicht durch Aufrufen von VideoPortSetTrappedEmulatorPortsaktivieren.
SvgaHwIoPortUshortString- müssen nachfolgende Anweisungen der Anwendung puffern und überprüfen, ob der Computer nicht hängen kann. Wenn die Anwendung eine Abfolge von Anweisungen ausgibt, die den Computer möglicherweise hängen, müssen SvgaHwIoPortUshortString die gepufferten Anweisungen verwerfen. Andernfalls sollte sie, jeweils eine USHORT, an den angegebenen, zugeordneten E/A-Port ausgegeben werden.
SvgaHwIoPortUshortString sollte seitenfähig gemacht werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | video.h (video.h einschließen) |