WaitNamedPipeW-Funktion (namedpipeapi.h)
Wartet, bis entweder ein Timeoutintervall verstrichen ist oder ein instance der angegebenen Named Pipe für die Verbindung verfügbar ist (d. h. der Serverprozess der Pipe verfügt über einen ausstehenden ConnectNamedPipe-Vorgang für die Pipe).
Syntax
BOOL WaitNamedPipeW(
[in] LPCWSTR lpNamedPipeName,
[in] DWORD nTimeOut
);
Parameter
[in] lpNamedPipeName
Der Name der benannten Pipe. Die Zeichenfolge muss den Namen des Computers enthalten, auf dem der Serverprozess ausgeführt wird. Ein Punkt kann für den Servernamen verwendet werden, wenn die Pipe lokal ist. Das folgende Pipenamensformat wird verwendet:
\\servername\pipe\pipename
[in] nTimeOut
Die Anzahl der Millisekunden, die die Funktion wartet, bis ein instance der Named Pipe verfügbar ist. Sie können einen der folgenden Werte verwenden, anstatt eine Anzahl von Millisekunden anzugeben.
Wert | Bedeutung |
---|---|
|
Das Timeoutintervall ist der Standardwert, der vom Serverprozess in der CreateNamedPipe-Funktion angegeben wird. |
|
Die Funktion gibt erst zurück, wenn ein instance der Named Pipe verfügbar ist. |
Rückgabewert
Wenn ein instance der Pipe verfügbar ist, bevor das Timeoutintervall abgelaufen ist, ist der Rückgabewert ungleich null.
Wenn ein instance der Pipe nicht verfügbar ist, bevor das Timeoutintervall abgelaufen ist, ist der Rückgabewert 0 (Null). Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Wenn keine Instanzen der angegebenen Named Pipe vorhanden sind, gibt die WaitNamedPipe-Funktion unabhängig vom Timeoutwert sofort zurück.
Wenn das Timeoutintervall abläuft, schlägt die WaitNamedPipe-Funktion mit dem Fehler ERROR_SEM_TIMEOUT fehl.
Wenn die Funktion erfolgreich ist, sollte der Prozess die CreateFile-Funktion verwenden, um ein Handle für die Named Pipe zu öffnen. Der Rückgabewert TRUE gibt an, dass mindestens eine instance der Pipe verfügbar ist. Ein nachfolgender CreateFile-Aufruf der Pipe kann fehlschlagen, da die instance vom Server geschlossen oder von einem anderen Client geöffnet wurde.
Windows 10 Version 1709: Pipes werden nur innerhalb eines App-Containers unterstützt, d. h. von einem UWP-Prozess zu einem anderen UWP-Prozess, der Teil derselben App ist. Außerdem müssen Named Pipes die Syntax \\.\pipe\LOCAL\
für den Pipenamen verwenden.
Beispiele
Ein Beispiel finden Sie unter Named Pipe Client.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | namedpipeapi.h |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |
Siehe auch
CallNamedPipe
ConnectNamedPipe
CreateFile
CreateNamedPipe
Pipefunktionen
Übersicht über Pipes