WaitNamedPipeW 函数 (namedpipeapi.h)
等待,直到超时间隔过去或指定命名管道的实例可用于连接 (即管道的服务器进程对管道) 具有挂起的 ConnectNamedPipe 操作。
语法
BOOL WaitNamedPipeW(
[in] LPCWSTR lpNamedPipeName,
[in] DWORD nTimeOut
);
参数
[in] lpNamedPipeName
命名管道的名称。 字符串必须包含正在执行服务器进程的计算机的名称。 如果管道是本地的,则 服务器名称 可以使用句点。 使用以下管道名称格式:
\\servername\pipe\pipename
[in] nTimeOut
函数等待命名管道实例可用的毫秒数。 可以使用以下值之一,而不是指定毫秒数。
值 | 含义 |
---|---|
|
超时间隔是由 CreateNamedPipe 函数中的服务器进程指定的默认值。 |
|
函数在命名管道的实例可用之前不会返回。 |
返回值
如果管道的实例在超时间隔过前可用,则返回值为非零值。
如果在超时间隔之前管道实例不可用,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
如果不存在指定命名管道的实例,则无论超时值如何, WaitNamedPipe 函数都会立即返回。
如果超时间隔过期, WaitNamedPipe 函数将失败并 ERROR_SEM_TIMEOUT错误。
如果函数成功,则进程应使用 CreateFile 函数打开命名管道的句柄。 返回值为 TRUE 表示至少有一个可用的管道实例。 后续对管道的 CreateFile 调用可能会失败,因为实例已被服务器关闭或被另一个客户端打开。
Windows 10版本 1709:管道仅在应用容器中受支持;即,从一个 UWP 进程到属于同一应用的另一个 UWP 进程。 此外,命名管道必须为管道名称使用 语法 \\.\pipe\LOCAL\
。
示例
有关示例,请参阅 命名管道客户端。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | namedpipeapi.h |
Library | Kernel32.lib |
DLL | Kernel32.dll |
另请参阅
CallNamedPipe
ConnectNamedPipe
CreateFile
CreateNamedPipe
管道函数
管道概述