Pipes (RPC)
Der Pipetypkonstruktor ist ein hocheffizienter Mechanismus zum Übergeben großer Datenmengen oder einer Menge von Daten, die nicht alle gleichzeitig im Arbeitsspeicher verfügbar sind. Durch die Verwendung einer Pipe verarbeitet rpc-Laufzeit die tatsächliche Datenübertragung, wodurch der Aufwand für wiederholte Remoteprozeduraufrufe beseitigt wird.
Nachdem ein Client eine Remoteprozedur aufgerufen hat, die über einen Pipeparameter verfügt, gibt der Client und der Server Schleifen zum Übertragen von Daten ein. Die Daten können auf dem Client oder dem Server erstellt werden. Auf beide Weise muss die Datenmenge (in Byte) im Voraus nicht bekannt sein. Die Daten können inkrementell erstellt oder genutzt werden. Während der Datenübertragungsschleife ruft der Server Stubroutinen auf, die einen Datenpuffer laden oder entladen. Der Client ruft programmierdefinierte Prozeduren auf, um Puffer zuzuweisen, Daten in die Puffer zu laden und daten aus den Puffern zu entladen.
Dieser Abschnitt enthält eine Übersicht über die Verwendung von Rohren für Remoteprozeduraufrufe. Es stellt die Übersicht in den folgenden Themen dar:
- Essential Pipe Terminologie
- Der Rohrzustand
- Definieren von Pipes in IDL-Dateien
- Client-Side PipeImplementierung
- Server-Side PipeImplementierung
- Regeln für mehrere Rohre
- Kombinieren von Rohr- und Nichtpipeparametern
Weitere Informationen zu Pipesyntax und Einschränkungen finden Sie unter Pipe- in der MIDL-Sprachreferenz. Das PIPES-Beispielprogramm im Platform Software Development Kit (SDK)\rPC-Verzeichnis veranschaulicht, wie [in,out] Rohre zum Übertragen von Daten zwischen einem Client und einem Server verwendet werden.