Partager via


Fonction CreatePseudoConsole

Crée un nouvel objet pseudoconsole pour le processus appelant.

Syntaxe

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

Paramètres

taille [entrée]
Les dimensions de la fenêtre/mémoire tampon en nombre de caractères qui seront utilisées lors de la création initiale de la pseudoconsole. Cela peut être ajusté ultérieurement avec la fonction ResizePseudoConsole.

hInput [entrée]
Un descripteur ouvert vers un flux de données qui représente l’entrée utilisateur sur l’appareil. Il est actuellement limité aux E/S synchrones.

hOutput [entrée]
un descripteur ouvert vers un flux de données qui représente la sortie de l’application à partir de l’appareil. Il est actuellement limité aux E/S synchrones.

dwFlags [in]
Il peut s'agir de l'une des valeurs suivantes :

Valeur Signification
0 Effectuez une création de pseudoconsole standard.
PSEUDOCONSOLE_INHERIT_CURSOR (DWORD)1 La session pseudoconsole créée tentera d'hériter de la position du curseur de la console parente.

phPC [sortie]
Pointeur vers un emplacement qui recevra un descripteur vers le nouvel appareil pseudoconsole.

Valeur renvoyée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Notes

Cette fonction est principalement utilisée par les applications qui tentent d’être une fenêtre de terminal pour une application d’interface utilisateur en ligne de commande (CUI). Les appelants deviennent responsables de la présentation des informations sur le flux de sortie et de la collecte de l’entrée utilisateur et de sa sérialisation dans le flux d’entrée.

Les flux d’entrée et de sortie encodés au format au UTF-8 contiennent du texte brut entrelacé avec des séquences de terminaux virtuels.

Sur le flux de sortie, les séquences de terminaux virtuels peuvent être décodées par l'application appelante pour mettre en page et présenter le texte brut dans une fenêtre d'affichage.

Sur le flux d'entrée, le texte brut représente les touches du clavier standard saisies par un utilisateur. Les opérations plus complexes sont représentées par l'encodage des touches de contrôle et des mouvements de la souris sous forme de séquences de terminaux virtuels intégrées dans ce flux.

Le descripteur créé par cette fonction doit être fermé avec ClosePseudoConsole lorsque les opérations sont terminées.

En cas d’utilisation de PSEUDOCONSOLE_INHERIT_CURSOR, l'application appelante doit être préparée à répondre à la demande d'état du curseur de manière asynchrone sur thread d'arrière-plan en transmettant ou en interprétant la demande d'informations sur le curseur qui sera reçue sur hOutput et en répondant sur hInput. Dans le cas contraire, l'application appelante risque de se bloquer pendant qu'elle fait une autre demande au système de la pseudoconsole.

Exemples

Pour une description détaillée de l'utilisation de cette fonction pour établir une session de pseudoconsole, consultez la section Création d'une session de pseudoconsole.

Spécifications

   
Client minimal pris en charge Mise à jour d'octobre 2018 de Windows 10 (Version 1809) [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2019 [applications de bureau uniquement]
En-tête ConsoleApi.h (via WinCon.h, inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

Pseudoconsoles

Création d’une session pseudo-console

ResizePseudoConsole

ClosePseudoConsole