Partager via


WaitNamedPipeA, fonction (winbase.h)

Attend qu’un intervalle de délai d’attente s’écoule ou qu’une instance du canal nommé spécifié soit disponible pour la connexion (autrement dit, le processus serveur du canal a une opération ConnectNamedPipe en attente sur le canal).

Syntaxe

BOOL WaitNamedPipeA(
  [in] LPCSTR lpNamedPipeName,
  [in] DWORD  nTimeOut
);

Paramètres

[in] lpNamedPipeName

Nom du canal nommé. La chaîne doit inclure le nom de l’ordinateur sur lequel le processus serveur s’exécute. Un point peut être utilisé pour le nom du serveur si le canal est local. Le format de nom de canal suivant est utilisé :

\\servername\pipe\pipename

[in] nTimeOut

Nombre de millisecondes pendant lesquelles la fonction attend qu’une instance du canal nommé soit disponible. Vous pouvez utiliser l’une des valeurs suivantes au lieu de spécifier un nombre de millisecondes.

Valeur Signification
NMPWAIT_USE_DEFAULT_WAIT
0x00000000
L’intervalle de délai d’attente est la valeur par défaut spécifiée par le processus serveur dans la fonction CreateNamedPipe .
NMPWAIT_WAIT_FOREVER
0xffffffff
La fonction ne retourne pas tant qu’une instance du canal nommé n’est pas disponible.

Valeur retournée

Si une instance du canal est disponible avant l’expiration de l’intervalle de délai d’attente, la valeur de retour est différente de zéro.

Si une instance du canal n’est pas disponible avant l’expiration de l’intervalle de délai d’attente, la valeur de retour est zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Si aucune instance du canal nommé spécifié n’existe, la fonction WaitNamedPipe retourne immédiatement, quelle que soit la valeur du délai d’attente.

Si l’intervalle de délai d’expiration expire, la fonction WaitNamedPipe échoue avec l’erreur ERROR_SEM_TIMEOUT.

Si la fonction réussit, le processus doit utiliser la fonction CreateFile pour ouvrir un handle sur le canal nommé. La valeur de retour TRUE indique qu’il existe au moins un instance du canal disponible. Un appel CreateFile suivant au canal peut échouer, car le instance a été fermé par le serveur ou ouvert par un autre client.

Windows 10, version 1709 : les canaux ne sont pris en charge que dans un conteneur d’application, c’est-à-dire, d’un processus UWP à un autre processus UWP qui fait partie de la même application. En outre, les canaux nommés doivent utiliser la syntaxe \\.\pipe\LOCAL\ du nom du canal.

Exemples

Pour obtenir un exemple, consultez Client de canal nommé.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

CallNamedPipe

ConnectNamedPipe

CreateFile

CreateNamedPipe

Fonctions de canal

Vue d’ensemble des canaux