Voltar à lista
Windows Win32IPCkernel32.dll

PeekNamedPipe

Consulta dados disponíveis em um pipe sem removê-los, e/ou informações sobre o estado do pipe.

Descrição

Análogo funcional a `recv` com MSG_PEEK sobre um socket no Linux, mas para pipes.

Header: namedpipeapi.hDLL: kernel32.dll

Assinatura

BOOL PeekNamedPipe(
    HANDLE hNamedPipe,
    LPVOID lpBuffer,
    DWORD nBufferSize,
    LPDWORD lpBytesRead,
    LPDWORD lpTotalBytesAvail,
    LPDWORD lpBytesLeftThisMessage
);

Parâmetros

ParâmetroTipoDescrição
hNamedPipeHANDLEHandle do pipe.
lpBufferLPVOIDSe não for NULL, recebe uma cópia dos dados disponíveis (sem removê-los).
nBufferSizeDWORDTamanho de `lpBuffer`.
lpBytesReadLPDWORDRecebe o número de bytes copiados para `lpBuffer`.
lpTotalBytesAvailLPDWORDSe não for NULL, recebe o total de bytes disponíveis no pipe.
lpBytesLeftThisMessageLPDWORDSe não for NULL, recebe os bytes restantes da mensagem atual (modo mensagem).

Valor de retorno

Diferente de zero em sucesso; 0 em erro (consulte GetLastError).

Códigos de erro (GetLastError)

ERROR_BROKEN_PIPE(109)
O pipe foi encerrado (broken pipe).
ERROR_INVALID_HANDLE(6)
O identificador (handle) informado é inválido.

Relacionadas