Compartir a través de


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
NMPWAIT_USE_DEFAULT_WAIT
0x00000000
El intervalo de tiempo de espera es el valor predeterminado especificado por el proceso de servidor en la función CreateNamedPipe .
NMPWAIT_WAIT_FOREVER
0xffffffff
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

Vea también

CallNamedPipe

ConnectNamedPipe

CreateFile

CreateNamedPipe

Funciones de canalización

Información general sobre canalizaciones