Windows Win32IPCkernel32.dll
CreateNamedPipeW
Cria uma instância de um pipe nomeado, utilizável para IPC local ou (com extensões) através da rede.
Descrição
Mais poderoso que os FIFOs nomeados do Linux (`mkfifo`): suporta múltiplas instâncias simultâneas do mesmo nome (um servidor atendendo vários clientes), modo mensagem além de modo byte-stream, e I/O assíncrono nativo via overlapped I/O.
Header:
namedpipeapi.hDLL: kernel32.dllNative API: NtCreateNamedPipeFileAssinatura
HANDLE CreateNamedPipeW(
LPCWSTR lpName,
DWORD dwOpenMode,
DWORD dwPipeMode,
DWORD nMaxInstances,
DWORD nOutBufferSize,
DWORD nInBufferSize,
DWORD nDefaultTimeOut,
LPSECURITY_ATTRIBUTES lpSecurityAttributes
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| lpName | LPCWSTR | Nome do pipe, no formato \\.\pipe\nome. |
| dwOpenMode | DWORD | PIPE_ACCESS_DUPLEX, PIPE_ACCESS_INBOUND, FILE_FLAG_OVERLAPPED, etc. |
| dwPipeMode | DWORD | PIPE_TYPE_BYTE ou PIPE_TYPE_MESSAGE, combinado com modo de leitura e de espera. |
| nMaxInstances | DWORD | Número máximo de instâncias simultâneas deste pipe. |
| nOutBufferSize | DWORD | Tamanho sugerido do buffer de saída. |
| nInBufferSize | DWORD | Tamanho sugerido do buffer de entrada. |
| nDefaultTimeOut | DWORD | Timeout padrão (ms) para clientes chamando WaitNamedPipeW. |
| lpSecurityAttributes | LPSECURITY_ATTRIBUTES | Atributos de segurança, ou NULL. |
Valor de retorno
Um handle para a instância do pipe em sucesso; INVALID_HANDLE_VALUE em erro (consulte GetLastError).
Códigos de erro (GetLastError)
- ERROR_ACCESS_DENIED(5)
- Acesso negado.
- ERROR_ALREADY_EXISTS(183)
- Não é possível criar um arquivo já existente.
- ERROR_INVALID_PARAMETER(87)
- Parâmetro incorreto.
Relacionadas
Equivalente em Linux x86_64
Linuxsocketpair— Sem equivalente anônimo direto; um canal duplex local entre processos relacionados no Windows tipicamente usa um named pipe (PIPE_ACCESS_DUPLEX).Linuxmq_open— Filas de mensagens POSIX (com prioridade por mensagem) são mais parecidas em espírito com um named pipe em modo mensagem do que com qualquer fila nativa do Windows.