Funzione CreatePseudoConsole

Crea un nuovo oggetto pseudoconsole per il processo chiamante.

Sintassi

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

Parametri

dimensioni [in]
Dimensioni della finestra/buffer nel numero di caratteri che verranno utilizzati durante la creazione iniziale della pseudoconsole. Questa operazione può essere modificata in un secondo momento con ResizePseudoConsole.

hInput [in]
Handle aperto per un flusso di dati che rappresenta l'input dell'utente nel dispositivo. Questa operazione è attualmente limitata alle I/O sincrone .

hOutput [in]
Handle aperto a un flusso di dati che rappresenta l'output dell'applicazione dal dispositivo. Questa operazione è attualmente limitata alle I/O sincrone .

dwFlags [in]
Il valore può essere uno dei seguenti:

valore Significato
0 Eseguire una creazione di pseudoconsole standard.
P edizione StandardUDOCONSOLE_INHERIT_CURSOR (DWORD)1 La sessione pseudoconsole creata tenterà di ereditare la posizione del cursore della console padre.

phPC [out]
Puntatore a una posizione che riceverà un handle per il nuovo dispositivo pseudoconsole.

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Osservazioni:

Questa funzione viene usata principalmente dalle applicazioni che tentano di essere una finestra del terminale per un'applicazione dell'interfaccia utente della riga di comando (CUI). I chiamanti diventano responsabili della presentazione delle informazioni sul flusso di output e per la raccolta dell'input dell'utente e la serializzazione nel flusso di input.

I flussi di input e output codificati come UTF-8 contengono testo normale interleaved con sequenze di terminale virtuale.

Nel flusso di output, le sequenze di terminale virtuale possono essere decodificate dall'applicazione chiamante per il layout e presentare il testo normale in una finestra di visualizzazione.

Nel flusso di input il testo normale rappresenta l'input dei tasti di tastiera standard da parte di un utente. Le operazioni più complesse sono rappresentate dalla codifica dei tasti di controllo e dei movimenti del mouse come sequenze di terminale virtuali incorporate in questo flusso.

L'handle creato da questa funzione deve essere chiuso con ClosePseudoConsole al termine delle operazioni.

Se si usa PSEUDOCONSOLE_INHERIT_CURSOR, l'applicazione chiamante deve essere preparata per rispondere alla richiesta dello stato del cursore in modo asincrono su un thread in background inoltrando o interpretando la richiesta di informazioni sul cursore che verranno ricevute su hOutput e rispondendo su hInput. In caso contrario, l'applicazione chiamante potrebbe bloccarsi durante l'esecuzione di un'altra richiesta del sistema pseudoconsole.

Esempi

Per una procedura dettagliata completa sull'uso di questa funzione per stabilire una sessione di pseudoconsole, vedere Creazione di una sessione pseudoconsole.

Requisiti

   
Client minimo supportato Aggiornamento di Windows 10 (ottobre 2018) (versione 1809) [solo app desktop]
Server minimo supportato Windows Server 2019 [solo app desktop]
Intestazione ConsoleApi.h (tramite WinCon.h, con Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedi anche

Pseudoconsole

Creazione di una sessione di pseudoconsole

ResizePseudoConsole

ClosePseudoConsole