Função WaitNamedPipeA (winbase.h)
Aguarda até que um intervalo de tempo limite tenha decorrido ou uma instância do pipe nomeado especificado esteja disponível para conexão (ou seja, o processo do servidor do pipe tem uma operação ConnectNamedPipe pendente no pipe).
Sintaxe
BOOL WaitNamedPipeA(
[in] LPCSTR lpNamedPipeName,
[in] DWORD nTimeOut
);
Parâmetros
[in] lpNamedPipeName
O nome do pipe nomeado. A cadeia de caracteres deve incluir o nome do computador no qual o processo do servidor está sendo executado. Um período poderá ser usado para o nome do servidor se o pipe for local. O seguinte formato de nome de pipe é usado:
\\servername\pipe\pipename
[in] nTimeOut
O número de milissegundos que a função aguardará até que uma instância do pipe nomeado esteja disponível. Você pode usar um dos valores a seguir em vez de especificar um número de milissegundos.
Valor | Significado |
---|---|
|
O intervalo de tempo limite é o valor padrão especificado pelo processo do servidor na função CreateNamedPipe . |
|
A função não retorna até que uma instância do pipe nomeado esteja disponível. |
Retornar valor
Se uma instância do pipe estiver disponível antes do intervalo de tempo limite passar, o valor retornado será diferente de zero.
Se uma instância do pipe não estiver disponível antes do intervalo de tempo limite passar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Se nenhuma instância do pipe nomeado especificado existir, a função WaitNamedPipe retornará imediatamente, independentemente do valor de tempo limite.
Se o intervalo de tempo limite expirar, a função WaitNamedPipe falhará com o erro ERROR_SEM_TIMEOUT.
Se a função for bem-sucedida, o processo deverá usar a função CreateFile para abrir um identificador para o pipe nomeado. Um valor retornado de TRUE indica que há pelo menos uma instância do pipe disponível. Uma chamada CreateFile subsequente para o pipe pode falhar, pois a instância foi fechada pelo servidor ou aberta por outro cliente.
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 Cliente pipe nomeado.
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 | winbase.h (incluir Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |