With Windows named pipes, what is the proper way to use the CreateNamedPipe
, ConnectNamedPipe
, DisconnectNamedPipe
, and CloseHan
I have managed to achieve what I wanted. I call CreateNamedPipe
and CloseHandle
exactly once per session, and I call DisconnectNamedPipe
when my write fails, followed by another ConnectNamedPipe
.
The trick is to only call DisconnectNamedPipe
when the pipe was actually connected. I called it every time I tried to connect "just to be sure" and it gave me strange errors.
See also djgandy's answer for more information about pipes.