Der Pipezustand
Auf dem Server erstellt der MIDL-Compiler eine Zustandsvariable , die Push-, Pull- und Alloc-Prozeduren koordiniert. Auf Clientseite muss der Entwickler die Zustandsvariable erstellen. Daher ist die Zustandsvariable für beide Seiten lokal, d. h. der Client und der Server behalten jeweils ihren eigenen Pipezustand bei. Der Serverstubcode verwaltet die Zustandsvariable auf dem Server. Sie sollten nicht versuchen, den Inhalt direkt zu ändern. Der Client muss die Felder in der Pipesteuerungsstruktur initialisieren und seine Zustandsvariable beibehalten. Es verwendet die Zustandsvariable , um zu identifizieren, wo Daten gefunden oder platziert werden sollen.
Die Clientstatusvariable kann so einfach wie ein Dateihandle sein, wenn Sie Daten von einer Datei in eine andere übertragen. Es kann auch eine ganze Zahl sein, die auf ein Element in einem Array zeigt. Sie können auch eine recht komplexe Zustandsstruktur definieren, um zusätzliche Aufgaben auszuführen, z. B. das Koordinieren der Push- und Pullroutinen für einen [ in, out]-Parameter.