Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Renuncia à propriedade do identificador para o HPCON pseudoconsole, permitindo que ele saia automaticamente assim que todos os clientes se desconectarem.
Sintaxe
HRESULT WINAPI ReleasePseudoConsole(
_In_ HPCON hPC
);
Parâmetros
hPC [in] Um identificador para um pseudoconsole ativo como aberto por CreatePseudoConsole.
Valor de retorno
Tipo: HRESULT
Se esse método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retorna um HRESULT código de erro. Não se espera que a chamada falhe, a menos que o argumento hPC seja inválido, caso em que retorna E_INVALIDARG.
Observações
Advertência
ReleasePseudoConsole não desaloca a memória associada ao HPCON. Você ainda deve chamar ClosePseudoConsole quando terminar de usar a instância HPCON . Consulte ClosePseudoConsole para obter informações importantes sobre seu uso correto.
O identificador HPCON de propriedade do seu aplicativo mantém a sessão do pseudoconsole ativa indefinidamente por padrão. Em versões anteriores do Windows, apenas ClosePseudoConsole renunciava à propriedade do identificador HPCON . No entanto, também esperaria até que todos os clientes se desconectassem antes de retornar.
Daí resultaram duas questões:
- Não foi possível detetar de forma fiável se todos os clientes se tinham desligado. Simplesmente testar se o processo de console inicialmente gerado havia saído é insuficiente, pois pode ter gerado processos adicionais que ainda estão em execução.
- Criou um ciclo de vida e propriedade entre o pseudoconsole e a aplicação. Seu aplicativo manteria a sessão do pseudoconsole ativa mantendo o identificador HPCON , enquanto o pseudoconsole manteria seu aplicativo vivo, enquanto você aguardava uma indicação de que todos os clientes haviam se desconectado antes de chamar ClosePseudoConsole.
ReleasePseudoConsole resolve esse problema: Depois de chamar essa função, o pseudoconsole será automaticamente encerrado assim que todos os clientes se desconectarem. Tudo o que precisa fazer agora é ler ou gravar nos seus pipes de saída e entrada até estes retornarem uma falha. Isso indica que todos os clientes foram desconectados e que o pseudoconsole foi encerrado. Chame ClosePseudoConsole para libertar os bits restantes que o identificador HPCON mantém.
Exemplos
Para obter um passo a passo completo sobre como usar essa função para estabelecer uma sessão de pseudoconsole, consulte Criando uma sessão de pseudoconsole.
Requerimentos
| Cliente mínimo suportado | Windows 11 24H2 (compilação 26100) [apenas aplicações de ambiente de trabalho] |
| Servidor mínimo suportado | Windows Server 2025 (compilação 26100) |
| Cabeçalho | ConsoleApi.h (via WinCon.h, inclui Windows.h) |
| Biblioteca | Kernel32.lib |
| DLL | Kernel32.dll |