DisconnectNamedPipe功能将命名管道实例的服务器端与客户端进程断开连接。
BOOL DisconnectNamedPipe(
HANDLE 【hNamedPipe】 | //命名管道的句柄 |
); |
参数
【hNamedPipe】
标识命名管道的一个实例。此句柄必须由CreateNamedPipe功能创建。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
如果命名管道的客户端已打开,则DisconnectNamedPipe功能将强制关闭命名管道的末尾。下次尝试访问管道时,客户端会收到错误。通过DisconnectNamedPipe强制关闭管道的客户端仍然必须使用CloseHandle功能关闭管道的末端。
当服务器进程断开管道实例时,管道中的任何未读取的数据都将被丢弃。在断开连接之前,服务器可以通过调用FlushFileBuffers函数来确保数据不会丢失,直到客户端进程读取所有数据为止,该函数才会返回。
服务器进程必须调用DisconnectNamedPipe以断开管道句柄与之前的客户端的连接,然后使用ConnectNamedPipe功能将句柄连接到另一个客户端。
也可以看看
CloseHandle, ConnectNamedPipe, CreateNamedPipe, FlushFileBuffers