Função WaitNamedPipeA (winbase.h)

Aguarda até que um intervalo de tempo limite decorrido ou uma instância do pipe nomeado especificado esteja disponível para conexão (ou seja, o processo de servidor do pipe tem uma operação de 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á para 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
NMPWAIT_USE_DEFAULT_WAIT
0x00000000
O intervalo de tempo limite é o valor padrão especificado pelo processo do servidor na função CreateNamedPipe .
NMPWAIT_WAIT_FOREVER
0xffffffff
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 não será 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, porque a instância foi fechada pelo servidor ou aberta por outro cliente.

Windows 10, versão 1709: só há suporte para pipes em um contêiner de aplicativo; 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

   
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 (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

CallNamedPipe

ConnectNamedPipe

CreateFile

CreateNamedPipe

Funções de pipe

Visão geral dos pipes