Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Renuncia à propriedade do identificador HPCON para o pseudoconsole, permitindo que ele saia automaticamente quando todos os clientes forem desconectados.
Sintaxe
HRESULT WINAPI ReleasePseudoConsole(
_In_ HPCON hPC
);
Parâmetros
hPC [in] Um identificador para um pseudoconsole ativo, conforme aberto por CreatePseudoConsole.
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. Não se espera que a chamada falhe, a menos que o argumento hPC seja inválido nesse caso , ele retornará E_INVALIDARG.
Observações
Aviso
ReleasePseudoConsole não desaloca a memória associada ao HPCON. Você ainda deve chamar ClosePseudoConsole depois de terminar de usar a instância hpcon . Consulte ClosePseudoConsole para obter informações importantes sobre seu uso correto.
O identificador HPCON de propriedade do aplicativo mantém a sessão pseudoconsole ativa indefinidamente por padrão. Nas versões anteriores do Windows, apenas ClosePseudoConsole renunciaria à propriedade do identificador HPCON . No entanto, ele também aguardaria até que todos os clientes tivessem se desconectado antes de retornar.
Isso resultou em dois problemas:
- Não foi possível detectar de forma confiável se todos os clientes haviam se desconectado. Simplesmente testar se o processo de console gerado inicialmente foi encerrado é insuficiente, pois pode ter gerado processos adicionais que ainda estão em execução.
- Foi criado um ciclo de vida e de propriedade entre o pseudoconsole e o aplicativo. Seu aplicativo manteria a sessão pseudoconsole ativa, mantendo o identificador HPCON ativo, enquanto o pseudoconsole manteria seu aplicativo ativo, pois você estava aguardando 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 sairá automaticamente depois que todos os clientes tiverem se desconectado. Tudo o que você precisa fazer agora é ler ou escrever nos identificadores de pipe de saída ou de entrada até que indiquem uma falha. Isso indica que todos os clientes se desconectaram e que o pseudoconsole foi encerrado. Chame ClosePseudoConsole para liberar os bits remanescentes mantidos pelo identificador HPCON.
Exemplos
Para obter um passo a passo completo sobre como usar essa função para estabelecer uma sessão pseudoconsole, consulte Criando uma sessão Pseudoconsole.
Requisitos
| Cliente mínimo com suporte | Windows 11 24H2 (build 26100) [somente aplicativos da área de trabalho] |
| Servidor mínimo com suporte | Windows Server 2025 (build 26100) |
| Cabeçalho | ConsoleApi.h (via WinCon.h, incluir Windows.h) |
| Biblioteca | Kernel32.lib |
| DLL | Kernel32.dll |