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 |
---|---|
|
L'intervallo di timeout è il valore predefinito specificato dal processo del server nella funzione CreateNamedPipe . |
|
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 |