Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die EMULATOR_ACCESS_ENTRY-Struktur gibt ein Element in der EmulatorAccessEntries Arrays an, das in der VIDEO_PORT_CONFIG_INFO Struktur durch Treiber von VGA-kompatiblen (SVGA)-Adaptern auf x86-basierten NT-basierten Betriebssystemplattformen eingerichtet wurde.
Syntax
typedef struct _EMULATOR_ACCESS_ENTRY {
ULONG BasePort;
ULONG NumConsecutivePorts;
EMULATOR_PORT_ACCESS_TYPE AccessType;
UCHAR AccessMode;
UCHAR StringSupport;
PVOID Routine;
} EMULATOR_ACCESS_ENTRY, *PEMULATOR_ACCESS_ENTRY;
Angehörige
BasePort
Gibt die vom V86-Emulator zu verbindende busrelative physische Adresse des E/A-Ports an. Dieser Wert und der Portbereich müssen in einen Zugriffsbereich von E/A-Ports fallen, die bereits in der Registrierung durch VideoPortGetAccessRanges oder VideoPortVerifyAccessRanges.
NumConsecutivePorts
Gibt die Anzahl der aufeinander folgenden Ports an, die vom V86-Emulator eingebunden werden sollen, beginnend bei BasePort-. Dieser Wert wird durch die Breite der einzelnen angeschlossenen E/A-Anschlüsse bestimmt. Wenn beispielsweise Portadressen 0x3C0 und 0x3C1 als einzelner USHORT-adressierbarer Port eingebunden sind, sollte dieser Wert 1 sein.
AccessType
Gibt die Größe der daten an, die über den angegebenen E/A-Port übertragen werden, als einer von Uchar, Ulongoder Ushort.
AccessMode
Gibt an, wie auf den angegebenen E/A-Port als eine kombination (ORed) der folgenden Werte zugegriffen werden kann:
- EMULATOR_READ_ACCESS
- EMULATOR_WRITE_ACCESS
Der E/A-Portbereich muss in mindestens einem der vorherigen Modi zugänglich sein.
StringSupport
Gibt an, ob die vom Treiber bereitgestellte SvgaHwIoPortXxx--Funktion Zeichenfolgenzugriffe unterstützt, wenn viele Werte der angegebenen AccessType- durch einen E/A-Port aufeinander folgenden "pumpt" werden. Wenn dieses Element auf TRUEfestgelegt ist, muss der Routine- Member den Einstiegspunkt eines von einem Miniporttreiber bereitgestellten SvgaHwIoPortXxxString--Funktion angeben.
Routine
Zeiger auf den SvgaHwIoPortXxx des Miniporttreibers, der zugriffe auf den in dieser Struktur beschriebenen Port oder Ports verarbeitet.
Bemerkungen
VGA-kompatible Miniporttreiber von SVGA-Videohardware auf x86-basierten Computern müssen Emulatorzugriffsbereiche definieren, die ein VGA-kompatibler Miniporttreiber mit VideoPortSetTrappedEmulatorPorts direkt über Vollbild-MS-DOS Anwendungen für schnellere E/A einrichten kann. Ein solcher Treiber muss eine Reihe von SvgaHwIoPortXxx--Funktionen bereitstellen, um jede Sequenz von anwendungsausgestellten INs, INSB/INSDs, OUTs und/oder OUTSB/OUTSD/OUTSDfür jeden solchen E/A-Portbereich zu überprüfen.
Daten in jedem EMULATOR_ACCESS_ENTRY-Typ-Element werden verwendet, um zu bestimmen, welche E/A-Ports (Speicherspeicherorte, an denen Adapterregister zugänglich sind) in den Zugriffsbereichen des Miniporttreibers vom V86-Emulator auf x86-basierten Plattformen übernommen (eingebunden). Werte, die von Vollbild-MS-DOS Anwendungen an diese Speicherorte geschrieben werden, werden abgefangen und an die entsprechende SvgaHwIoPortXxx--Funktion des Miniporttreibers weitergeleitet, bevor sie in den Videoadapter geschrieben oder gelesen werden. Der Miniporttreiber kann die Anwendung jedoch ermöglichen, direkt auf bestimmte E/A-Portbereiche zuzugreifen, indem sie VideoPortSetTrappedEmulatorPorts aufrufen, um die Leistung zu verbessern.
Anforderungen
Anforderung | Wert |
---|---|
Header- | dispmprt.h (include Dispmprt.h) |