PRB: Named Pipe Write() Limited to 64K (119218)



The information in this article applies to:

  • Microsoft Win32 Application Programming Interface (API), when used with:
    • the operating system: Microsoft Windows NT 3.1
    • the operating system: Microsoft Windows NT 3.5
    • the operating system: Microsoft Windows NT 3.51
    • the operating system: Microsoft Windows NT 4.0

This article was previously published under Q119218

SYMPTOMS

WriteFile() returns FALSE and GetLastError() returns
ERROR_MORE_DATA
when WriteFile() writes to a message-mode named pipe using a buffer greater than 64K.

CAUSE

There is a 64K limit on named pipe writes.

RESOLUTION

The error is different from ERROR_MORE_DATA on the reader side, where bytes have already been read and the operation should be retried for the remaining message. The real error is STATUS_BUFFER_OVERFLOW. No data is transmitted; therefore, the write operation must be retried using a smaller buffer.

Modification Type:MajorLast Reviewed:3/12/2004
Keywords:kbAPI kbIPC kbKernBase kbnetwork kbPipes KB119218