Função DisconnectNamedPipe (namedpipeapi.h)
Desconecta a extremidade do servidor de uma instância de pipe nomeado de um processo de cliente.
Sintaxe
BOOL DisconnectNamedPipe(
[in] HANDLE hNamedPipe
);
Parâmetros
[in] hNamedPipe
Um identificador para uma instância de um pipe nomeado. Esse identificador deve ser criado pela função CreateNamedPipe .
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Se a extremidade do cliente do pipe nomeado estiver aberta, a função DisconnectNamedPipe forçará essa extremidade do pipe nomeado fechado. O cliente recebe um erro na próxima vez que tentar acessar o pipe. Um cliente que é forçado a sair de um pipe pelo DisconnectNamedPipe ainda deve usar a função CloseHandle para fechar a extremidade do pipe.
O pipe existe desde que um processo de servidor ou cliente tenha um identificador aberto para o pipe.
Quando o processo do servidor desconecta uma instância de pipe, todos os dados não lidos no pipe são descartados. Antes de desconectar, o servidor pode garantir que os dados não sejam perdidos chamando a função FlushFileBuffers , que não retorna até que o processo do cliente leia todos os dados.
O processo do servidor deve chamar DisconnectNamedPipe para desconectar um identificador de pipe de seu cliente anterior antes que o identificador possa ser conectado a outro cliente usando a função ConnectNamedPipe .
Windows 10, versão 1709: os pipes só têm suporte em um app-container; ou seja, de um processo UWP para outro processo UWP que faz parte do mesmo aplicativo. Além disso, os pipes nomeados devem usar a sintaxe \\.\pipe\LOCAL\
para o nome do pipe.
Exemplos
Para obter um exemplo, consulte Servidor de Pipe Multithreaded.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | namedpipeapi.h |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |