Función WaitNamedPipeA (winbase.h)
Espera hasta que transcurre un intervalo de tiempo de espera o una instancia de la canalización con nombre especificada está disponible para la conexión (es decir, el proceso del servidor de la canalización tiene una operación ConnectNamedPipe pendiente en la canalización).
Sintaxis
BOOL WaitNamedPipeA(
[in] LPCSTR lpNamedPipeName,
[in] DWORD nTimeOut
);
Parámetros
[in] lpNamedPipeName
Nombre de la canalización con nombre. La cadena debe incluir el nombre del equipo en el que se ejecuta el proceso de servidor. Se puede usar un punto para el nombre del servidor si la canalización es local. Se usa el siguiente formato de nombre de canalización:
\\servername\pipe\pipename
[in] nTimeOut
Número de milisegundos que la función esperará a que haya disponible una instancia de la canalización con nombre. Puede usar uno de los valores siguientes en lugar de especificar un número de milisegundos.
Valor | Significado |
---|---|
|
El intervalo de tiempo de espera es el valor predeterminado especificado por el proceso de servidor en la función CreateNamedPipe . |
|
La función no devuelve hasta que haya disponible una instancia de la canalización con nombre. |
Valor devuelto
Si una instancia de la canalización está disponible antes de que transcurre el intervalo de tiempo de espera, el valor devuelto es distinto de cero.
Si una instancia de la canalización no está disponible antes de que transcurre el intervalo de tiempo de espera, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
Si no existen instancias de la canalización con nombre especificada, la función WaitNamedPipe devuelve inmediatamente, independientemente del valor de tiempo de espera.
Si expira el intervalo de tiempo de espera, se producirá un error en la función WaitNamedPipe con el error ERROR_SEM_TIMEOUT.
Si la función se ejecuta correctamente, el proceso debe usar la función CreateFile para abrir un identificador en la canalización con nombre. Un valor devuelto de TRUE indica que hay al menos una instancia de la canalización disponible. Se puede producir un error en una llamada CreateFile posterior a la canalización, ya que el servidor cerró la instancia o abrió otro cliente.
Windows 10, versión 1709: las canalizaciones solo se admiten en un contenedor de aplicaciones; es decir, desde un proceso de UWP a otro proceso de UWP que forma parte de la misma aplicación. Además, las canalizaciones con nombre deben usar la sintaxis \\.\pipe\LOCAL\
para el nombre de la canalización.
Ejemplos
Para obtener un ejemplo, consulte Cliente de canalización con nombre.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | winbase.h (incluya Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |