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.dllAssinatura
BOOL PeekNamedPipe(
HANDLE hNamedPipe,
LPVOID lpBuffer,
DWORD nBufferSize,
LPDWORD lpBytesRead,
LPDWORD lpTotalBytesAvail,
LPDWORD lpBytesLeftThisMessage
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| hNamedPipe | HANDLE | Handle do pipe. |
| lpBuffer | LPVOID | Se não for NULL, recebe uma cópia dos dados disponíveis (sem removê-los). |
| nBufferSize | DWORD | Tamanho de `lpBuffer`. |
| lpBytesRead | LPDWORD | Recebe o número de bytes copiados para `lpBuffer`. |
| lpTotalBytesAvail | LPDWORD | Se não for NULL, recebe o total de bytes disponíveis no pipe. |
| lpBytesLeftThisMessage | LPDWORD | Se 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.