Freigeben über


Benannte Rohre

Ein benanntes Pipe- ist ein benanntes, unidirektionales oder Duplexrohr für die Kommunikation zwischen dem Pipeserver und einem oder mehreren Pipeclients. Alle Instanzen einer benannten Pipe verwenden denselben Pipenamen, aber jede Instanz verfügt über eigene Puffer und Handles und stellt einen separaten Kanal für die Client-/Serverkommunikation bereit. Die Verwendung von Instanzen ermöglicht es mehreren Pipeclients, die gleiche benannte Pipe gleichzeitig zu verwenden.

Jeder Prozess kann auf benannte Rohre zugreifen, vorbehaltlich der Sicherheitskontrollen, wodurch benannte Rohre eine einfache Form der Kommunikation zwischen verwandten oder nicht verwandten Prozessen bilden.

Jeder Prozess kann sowohl als Server als auch als Client fungieren, wodurch peer-to-Peer-Kommunikation möglich wird. Wie hier verwendet, bezieht sich der Ausdruckspipelineserver auf einen Prozess, der eine benannte Pipe erstellt, und der Ausdruckspipelineclient bezieht sich auf einen Prozess, der eine Verbindung mit einer Instanz einer benannten Pipe herstellt. Die serverseitige Funktion zum Instanziieren einer benannten Pipe ist CreateNamedPipe. Die serverseitige Funktion zum Akzeptieren einer Verbindung ist ConnectNamedPipe. Ein Clientprozess stellt mithilfe der funktion CreateFile oder CallNamedPipe eine Verbindung mit einer benannten Pipe hergestellt.

Benannte Rohre können verwendet werden, um die Kommunikation zwischen Prozessen auf demselben Computer oder zwischen Prozessen auf verschiedenen Computern in einem Netzwerk bereitzustellen. Wenn der Serverdienst ausgeführt wird, sind alle benannten Rohre remote zugänglich. Wenn Sie nur eine benannte Pipe lokal verwenden möchten, verweigern Sie den Zugriff auf NT AUTHORITY\NETWORK oder wechseln Sie zu lokalem RPC.

Weitere Informationen finden Sie in den folgenden Themen: