Voltar à lista
Windows Win32IPCkernel32.dll

TransactNamedPipe

Combina uma escrita e uma leitura em uma única operação sobre um pipe em modo mensagem duplex.

Descrição

Otimização que evita duas chamadas (WriteFile + ReadFile) e a troca de contexto extra associada, para o padrão comum de requisição-resposta.

Header: namedpipeapi.hDLL: kernel32.dll

Assinatura

BOOL TransactNamedPipe(
    HANDLE hNamedPipe,
    LPVOID lpInBuffer,
    DWORD nInBufferSize,
    LPVOID lpOutBuffer,
    DWORD nOutBufferSize,
    LPDWORD lpBytesRead,
    LPOVERLAPPED lpOverlapped
);

Parâmetros

ParâmetroTipoDescrição
hNamedPipeHANDLEHandle do pipe, em modo mensagem duplex.
lpInBufferLPVOIDDados a enviar.
nInBufferSizeDWORDTamanho de `lpInBuffer`.
lpOutBufferLPVOIDRecebe a resposta.
nOutBufferSizeDWORDTamanho de `lpOutBuffer`.
lpBytesReadLPDWORDRecebe o número de bytes de resposta lidos.
lpOverlappedLPOVERLAPPEDEstrutura para operação assíncrona, ou NULL.

Valor de retorno

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

Códigos de erro (GetLastError)

ERROR_INVALID_HANDLE(6)
O identificador (handle) informado é inválido.
ERROR_MORE_DATA(234)
Há mais dados disponíveis do que o buffer comporta.

Relacionadas