Condividi tramite


Funzione WaitNamedPipeA (winbase.h)

Attende la scadenza di un intervallo di timeout o di un'istanza della named pipe specificata per la connessione, ovvero il processo del server della pipe ha un'operazione ConnectNamedPipe in sospeso sulla pipe.

Sintassi

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

Parametri

[in] lpNamedPipeName

Nome della named pipe. La stringa deve includere il nome del computer in cui è in esecuzione il processo del server. È possibile usare un punto per il nome server se la pipe è locale. Viene usato il formato del nome della pipe seguente:

\\servername\pipe\pipename

[in] nTimeOut

Numero di millisecondi che la funzione attenderà che sia disponibile un'istanza della named pipe. È possibile usare uno dei valori seguenti anziché specificare un numero di millisecondi.

Valore Significato
NMPWAIT_USE_DEFAULT_WAIT
0x00000000
L'intervallo di timeout è il valore predefinito specificato dal processo del server nella funzione CreateNamedPipe .
NMPWAIT_WAIT_FOREVER
0xffffffff
La funzione non restituisce finché non è disponibile un'istanza della named pipe.

Valore restituito

Se un'istanza della pipe è disponibile prima della scadenza dell'intervallo di timeout, il valore restituito è diverso da zero.

Se un'istanza della pipe non è disponibile prima della scadenza dell'intervallo di timeout, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Se non esistono istanze della named pipe specificata, la funzione WaitNamedPipe restituisce immediatamente, indipendentemente dal valore di timeout.

Se l'intervallo di timeout scade, la funzione WaitNamedPipe avrà esito negativo con l'errore ERROR_SEM_TIMEOUT.

Se la funzione ha esito positivo, il processo deve usare la funzione CreateFile per aprire un handle alla named pipe. Un valore restituito TRUE indica che è disponibile almeno un'istanza della pipe. Una successiva chiamata CreateFile alla pipe può avere esito negativo perché l'istanza è stata chiusa dal server o aperta da un altro client.

Windows 10 versione 1709: le pipe sono supportate solo all'interno di un contenitore di app, ad esempio da un processo UWP a un altro processo UWP che fa parte della stessa app. Inoltre, named pipe deve usare la sintassi \\.\pipe\LOCAL\ per il nome della pipe.

Esempio

Per un esempio, vedere Named Pipe Client.For an example, see Named Pipe Client.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

CallNamedPipe

ConnectNamedPipe

CreateFile

CreateNamedPipe

Funzioni pipe

Panoramica delle pipe