Essential Pipe-Terminologie
Wie andere Parametertypen für Remoteprozeduraufrufe können Pipes [ in] oder [ out] Parameter sein. Da der Server die Übertragung von Daten über eine Pipe steuert, sollen Pipes mit dem [in]-Attribut Daten auf den Server pullen . In ähnlicher Weise pushen Ausgabepipes Daten vom Server an den Client. Die Prozeduren, die die Datenübertragung durchführen, werden als Pullprozedur bzw . Pushprozedur bezeichnet.
Der MIDL-Compiler generiert die Push- und Pullprozeduren für den Server. Darüber hinaus verwaltet es die Zuordnung von Datenpuffern im Arbeitsspeicher. Der Client muss jedoch eigene Push- und Pullprozeduren bereitstellen. Außerdem muss es eine Prozedur für die Zuweisung der von der Pipe verwendeten Speicherpuffer bereitstellen. Diese werden automatisch zum entsprechenden Zeitpunkt vom Client-Stub aufgerufen. Das Zuordnungsverfahren wird häufig als Alloc-Prozedur oder alloc-Funktion bezeichnet.