Função GetNamedPipeInfo (namedpipeapi.h)

Recupera informações sobre o pipe nomeado especificado.

Sintaxe

BOOL GetNamedPipeInfo(
  [in]            HANDLE  hNamedPipe,
  [out, optional] LPDWORD lpFlags,
  [out, optional] LPDWORD lpOutBufferSize,
  [out, optional] LPDWORD lpInBufferSize,
  [out, optional] LPDWORD lpMaxInstances
);

Parâmetros

[in] hNamedPipe

Um identificador para a instância de pipe nomeado. O identificador deve ter GENERIC_READ acesso ao pipe nomeado para um pipe somente leitura ou leitura/gravação ou deve ter acesso GENERIC_WRITE e FILE_READ_ATTRIBUTES para um pipe somente gravação.

Esse parâmetro também pode ser um identificador para um pipe anônimo, conforme retornado pela função CreatePipe .

[out, optional] lpFlags

Um ponteiro para uma variável que recebe o tipo do pipe nomeado. Esse parâmetro poderá ser NULL se essas informações não forem necessárias. Caso contrário, esse parâmetro pode ser um ou mais dos valores a seguir.

Valor Significado
PIPE_CLIENT_END
0x00000000
O identificador refere-se à extremidade do cliente de uma instância de pipe nomeada. Esse é o padrão.
PIPE_SERVER_END
0x00000001
O identificador refere-se à extremidade do servidor de uma instância de pipe nomeada. Se esse valor não for especificado, o identificador se referirá à extremidade do cliente de uma instância de pipe nomeada.
PIPE_TYPE_BYTE
0x00000000
O pipe nomeado é um pipe de bytes. Esse é o padrão.
PIPE_TYPE_MESSAGE
0x00000004
O pipe nomeado é um pipe de mensagem. Se esse valor não for especificado, o pipe será um pipe de bytes.

[out, optional] lpOutBufferSize

Um ponteiro para uma variável que recebe o tamanho do buffer para dados de saída, em bytes. Se o tamanho do buffer for zero, o buffer será alocado conforme necessário. Esse parâmetro poderá ser NULL se essas informações não forem necessárias.

[out, optional] lpInBufferSize

Um ponteiro para uma variável que recebe o tamanho do buffer para dados de entrada, em bytes. Se o tamanho do buffer for zero, o buffer será alocado conforme necessário. Esse parâmetro poderá ser NULL se essas informações não forem necessárias.

[out, optional] lpMaxInstances

Um ponteiro para uma variável que recebe o número máximo de instâncias de pipe que podem ser criadas. Se a variável for definida como PIPE_UNLIMITED_INSTANCES (255), o número de instâncias de pipe que podem ser criadas será limitado apenas pela disponibilidade de recursos do sistema. Esse parâmetro poderá ser NULL se essas informações não forem necessárias.

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

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.

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

Confira também

CreateNamedPipe

GetNamedPipeHandleState

Funções de pipe

Visão geral de pipes