The DisconnectNamedPipe function disconnects the server end of a named pipe instance from a client process.
BOOL DisconnectNamedPipe(
HANDLE hNamedPipe | // handle to named pipe |
); |
Parameters
hNamedPipe
Identifies an instance of a named pipe. This handle must be created by the CreateNamedPipe function.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
If the client end of the named pipe is open, the DisconnectNamedPipe function forces that end of the named pipe closed. The client receives an error the next time it attempts to access the pipe. A client that is forced off a pipe by DisconnectNamedPipe must still use the CloseHandle function to close its end of the pipe.
When the server process disconnects a pipe instance, any unread data in the pipe is discarded. Before disconnecting, the server can make sure data is not lost by calling the FlushFileBuffers function, which does not return until the client process has read all the data.
The server process must call DisconnectNamedPipe to disconnect a pipe handle from its previous client before the handle can be connected to another client by using the ConnectNamedPipe function.
See Also
CloseHandle, ConnectNamedPipe, CreateNamedPipe, FlushFileBuffers