Share via


Função CreatePseudoConsole

Cria um novo objeto de pseudoconsole para o processo de chamada.

Sintaxe

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

Parâmetros

tamanho [in]
As dimensões da janela/buffer na contagem de caracteres que serão usados na criação inicial do pseudoconsole. Isso pode ser ajustado em outro momento com o uso de ResizePseudoConsole.

hInput [in]
Um identificador aberto para um fluxo de dados que representa a entrada do usuário para o dispositivo. Restrito, no momento, para E/S síncrona.

hOutput [in]
Um identificador aberto para um fluxo de dados que representa a saída do aplicativo do dispositivo. Restrito, no momento, para E/S síncrona.

dwFlags [in]
O valor pode ser um dos seguintes:

Valor Significado
0 Realiza uma criação de pseudoconsole padrão.
PSEUDOCONSOLE_INHERIT_CURSOR (DWORD)1 A sessão de pseudoconsole criada tentará herdar a posição do cursor do console pai.

phPC [out]
Ponteiro para um local que receberá um identificador para o novo dispositivo de pseudoconsole.

Valor retornado

Digite: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Essa função é usada principalmente por aplicativos que tentam ser uma janela de terminal para um aplicativo de interface do usuário de linha de comando (CUI). Os chamadores ficam responsáveis pela apresentação das informações no fluxo de saída e pela coleta da entrada do usuário e sua serialização no fluxo de entrada.

Os fluxos de entrada e saída codificados como UTF-8 contêm texto simples intercalado com Sequências de terminais virtuais.

No fluxo de saída, as sequências de terminais virtuais podem ser decodificadas pelo aplicativo de chamada para o layout e apresentação do texto sem formatação em uma janela de exibição.

No fluxo de entrada, o texto sem formatação representa as teclas padrão do teclado inseridas por um usuário. Operações mais complicadas são representadas pela codificação de teclas de controle e movimentos do mouse como sequências de terminais virtuais incorporadas nesse fluxo.

O identificador criado por essa função deve ser fechado com ClosePseudoConsole após a conclusão das operações.

Se estiver usando o PSEUDOCONSOLE_INHERIT_CURSOR, o aplicativo de chamada deve estar preparado para responder à solicitação do estado do cursor de forma assíncrona em um thread em segundo plano, encaminhando ou interpretando a solicitação de informações do cursor que será recebida no hOutput respondendo no hInput. Caso isso não seja feito, o aplicativo de chamada ficará travado ao fazer outra solicitação do sistema de pseudoconsole.

Exemplos

Para obter um passo a passo completo sobre como usar essa função para estabelecer uma sessão de pseudoconsole, confira Criar uma sessão de pseudoconsole.

Requisitos

   
Cliente mínimo com suporte Atualização de outubro de 2018 para Windows 10 (Versão 1809) [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2019 [somente aplicativos da área de trabalho]
Cabeçalho ConsoleApi.h (via WinCon.h, inclui o Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Pseudoconsoles

Criar uma sessão de pseudoconsole

ResizePseudoConsole

ClosePseudoConsole