Voltar à lista
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: NtCreateNamedPipeFile

Assinatura

HANDLE CreateNamedPipeW(
    LPCWSTR lpName,
    DWORD dwOpenMode,
    DWORD dwPipeMode,
    DWORD nMaxInstances,
    DWORD nOutBufferSize,
    DWORD nInBufferSize,
    DWORD nDefaultTimeOut,
    LPSECURITY_ATTRIBUTES lpSecurityAttributes
);

Parâmetros

ParâmetroTipoDescrição
lpNameLPCWSTRNome do pipe, no formato \\.\pipe\nome.
dwOpenModeDWORDPIPE_ACCESS_DUPLEX, PIPE_ACCESS_INBOUND, FILE_FLAG_OVERLAPPED, etc.
dwPipeModeDWORDPIPE_TYPE_BYTE ou PIPE_TYPE_MESSAGE, combinado com modo de leitura e de espera.
nMaxInstancesDWORDNúmero máximo de instâncias simultâneas deste pipe.
nOutBufferSizeDWORDTamanho sugerido do buffer de saída.
nInBufferSizeDWORDTamanho sugerido do buffer de entrada.
nDefaultTimeOutDWORDTimeout padrão (ms) para clientes chamando WaitNamedPipeW.
lpSecurityAttributesLPSECURITY_ATTRIBUTESAtributos 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