WaitNamedPipe功能等待直到超时间隔或指定的命名管道的实例可用于连接(即,管道的服务器进程在管道上具有待处理的ConnectNamedPipe操作)。
BOOL WaitNamedPipe(
LPCTSTR 【lpNamedPipeName】, | //等待管道名称的地址 |
DWORD 【nTimeOut】 | //超时间隔,以毫秒为单位 |
); |
参数
【lpNamedPipeName】
指向一个以空字符结尾的字符串,指定命名管道的名称。字符串必须包含服务器进程正在执行的计算机的名称。如果管道是本地的,则可以使用【服务器名称】的时间段。使用以下管道名称格式:
\\【服务器名称】\\管\\【\\管\\】
【nTimeOut】
指定函数等待命名管道实例可用的毫秒数。可以使用以下值之一,而不是指定毫秒数:
值 | 含义 |
NMPWAIT_USE_DEFAULT_WAIT | 超时间隔是CreateNamedPipe功能中服务器进程指定的默认值。 |
NMPWAIT_WAIT_FOREVER | 在命名管道的一个实例可用之前,函数不会返回。 |
返回值
如果管道的实例在超时间隔过去之前可用,则返回值不为零。
如果管道的实例在超时间隔过去之前不可用,则返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
如果没有指定命名管道的实例存在,则WaitNamedPipe函数将立即返回,而不管超时值如何。
如果函数成功,则该过程应使用CreateFile函数打开命名管道的句柄。返回值为TRUE表示至少有一个可用管道实例。对管道的后续CreateFile调用可能会失败,因为实例已被服务器关闭或由其他客户机打开。
也可以看看
CallNamedPipe, ConnectNamedPipe, CreateFile, CreateNamedPipe