Функция WaitNamedPipeA (winbase.h)
Ожидает, пока не истедет интервал ожидания или экземпляр указанного именованного канала будет доступен для подключения (то есть серверный процесс канала имеет ожидающую операцию ConnectNamedPipe в канале).
Синтаксис
BOOL WaitNamedPipeA(
[in] LPCSTR 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 |
Header | winbase.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |