The Microsoft Knowledge Base documents the following problems and limitations. You can access the Knowledge Base at http://support.microsoft.com/support. The following are brief descriptions of each issue.
If a pipe named \\.\Pipe\Mypipes is created, it is not possible to subsequently create a pipe named \\.\Pipe\Mypipes\Pipe1, because \\.\Pipe\Mypipes is already a pipe name and cannot be used as a subdirectory.
The WriteFile API function returns FALSE and GetLastError returns ERROR_MORE_DATA when WriteFile writes to a message-mode named pipe using a buffer greater than 64 KB.
The WriteFile or ReadFile function call can fail with the error ERROR_INVALID_PARAMETER if you are operating on a named pipe and using overlapped I/O. A possible cause for the failure is that the Offset and OffsetHigh members of the OVERLAPPED structure are not set to 0.
In Windows 95, when WaitNamedPipe fails because of an invalid pipe name passed as the first parameter, GetLastError returns error 253, which is not listed as a possible error code for this function. When you run the same code on Windows NT 4, the error code 161 (ERROR_BAD_PATHNAME) appears. To work around the problem, resolve error 253 the same way as error 161, ERROR_BAD_PATHNAME.
If a named pipe server creates more than 49 distinctly named pipes, a single client on a remote computer cannot connect more than 49 pipes on the named pipe server.
If a service running in the Local System account attempts to open a named pipe on a computer running Windows NT, the operation can fail with an Access Denied error (error 5).