Freigeben über


CreatePseudoConsole-Funktion

Erstellt ein neues Pseudoconsole -Objekt für den aufrufenden Prozess.

Syntax

HRESULT WINAPI CreatePseudoConsole(
    _In_ COORD size,
    _In_ HANDLE hInput,
    _In_ HANDLE hOutput,
    _In_ DWORD dwFlags,
    _Out_ HPCON* phPC
);

Parameter

Größe [in]
Die Dimensionen des Fensters/Puffers in der Anzahl der Zeichen, die bei der ersten Erstellung der Pseudoconsole verwendet werden. Dies kann später mit ResizePseudoConsole angepasst werden.

hInput [in]
Ein geöffnetes Handle für einen Datenstrom, der Benutzereingaben für das Gerät darstellt. Dies ist derzeit auf synchrone E/A beschränkt.

hOutput [in]
Ein geöffnetes Handle für einen Datenstrom, der die Anwendungsausgabe vom Gerät darstellt. Dies ist derzeit auf synchrone E/A beschränkt.

dwFlags [in]
Der Wert kann in folgenden Formen vorliegen:

Wert Bedeutung
0 Führen Sie eine standardmäßige Pseudoconsole-Erstellung aus.
PSEUDOCONSOLE_INHERIT_CURSOR (DWORD)1 Die erstellte Pseudoconsole-Sitzung versucht, die Cursorposition der übergeordneten Konsole zu erhalten.

phPC [out]
Zeiger auf eine Position, die ein Handle auf das neue Pseudoconsole-Gerät empfängt.

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.

Hinweise

Diese Funktion wird in erster Linie von Anwendungen verwendet, die versuchen, ein Terminalfenster für eine Befehlszeilen-Benutzeroberfläche (CUI)-Anwendung zu sein. Die Aufrufer sind verantwortlich für die Darstellung der Informationen über den Ausgabedatenstrom und für das Sammeln von Benutzereingaben und serialisieren sie in den Eingabedatenstrom.

Die als UTF-8 codierten Eingabe- und Ausgabedatenströme enthalten nur einfachen Text, der mit virtuellen Terminalsequenzen interleaviert ist.

Im Ausgabedatenstrom können die virtuellen Terminalsequenzen von der aufrufenden Anwendung zum Layout decodiert und den einfachen Text in einem Anzeigefenster darstellen.

Im Eingabedatenstrom stellt der einfache Text standardmäßige Tastatureingaben eines Benutzers dar. Komplexere Vorgänge werden durch die Codierung von Steuertasten und Mausbewegungen als virtuelle Terminalsequenzen dargestellt, die in diesem Datenstrom eingebettet sind.

Das von dieser Funktion erstellte Handle muss mit ClosePseudoConsole geschlossen werden, wenn Vorgänge abgeschlossen sind.

Bei Verwendung PSEUDOCONSOLE_INHERIT_CURSORsollte die aufrufende Anwendung darauf vorbereitet sein, auf die Anforderung für den Cursorzustand asynchron in einem Hintergrundthread zu reagieren, indem sie die Anforderung für Cursorinformationen weiterleiten oder interpretieren, die empfangen hOutput werden, und beantworten.hInput Andernfalls kann die aufrufende Anwendung hängen bleiben, während sie eine andere Anforderung des Pseudoconsole-Systems anfordert.

Beispiele

Eine vollständige exemplarische Vorgehensweise zur Verwendung dieser Funktion zum Einrichten einer Pseudoconsole-Sitzung finden Sie unter Erstellen einer Pseudoconsole-Sitzung.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 10-Update von Oktober 2018 (Version 1809)(nur Desktop-Apps)
Unterstützte Mindestversion (Server) Windows Server 2019 [nur Desktop-Apps]
Header ConsoleApi.h (über WinCon.h, Windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Pseudoconsoles

Erstellen einer Pseudokonsolensitzung

ResizePseudoConsole

ClosePseudoConsole