Freigeben über


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
NMPWAIT_USE_DEFAULT_WAIT
0x00000000
Das Timeoutintervall ist der Standardwert, der vom Serverprozess in der CreateNamedPipe-Funktion angegeben wird.
NMPWAIT_WAIT_FOREVER
0xffffffff
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