| Previous | Next |
| ERROR_PIPE_NOT_CONNECTED | ERROR_NO_WORK_DONE |
ERROR_MORE_DATA
ERROR_MORE_DATA commonly means that a message-mode named-pipe read buffer was smaller than the next complete message. Windows returns the portion that fits and leaves the remainder available for subsequent reads.
Where it occurs
When a message-type pipe is read in message-read mode, ReadFile completes successfully only after the whole message has been read. If the supplied buffer is too small, the call returns FALSE, GetLastError() returns ERROR_MORE_DATA, and the application must continue reading the same message.
Correct handling
- Keep the partial data already received.
- Issue additional reads until the final read completes without
ERROR_MORE_DATA. - Do not treat the status as a broken connection or discard the partial message.
- Apply a maximum accepted message size to prevent unbounded memory growth.
Important scope
The exact interpretation depends on the API. For named pipes it is a message-framing condition, not a general instruction to retry any failed Windows call.
See Microsoft documentation for ReadFile and Named Pipe Client.
Looking for a different code? Search another status or error code.