Auf den Parameter angewendete Richtungsattribute
Die richtungsgerichteten Attribute [ in] und [ out] bestimmen, wie der Client und der Server Arbeitsspeicher zuordnen und freisetzen. In der folgenden Tabelle sind die Auswirkungen von Richtungsattributen auf die Speicherbelegung zusammengefasst.
Richtungsattribute | Arbeitsspeicher auf dem Client | Arbeitsspeicher auf dem Server |
---|---|---|
[ in] | Die Clientanwendung muss vor dem Aufruf zuordnen. | Serverstubs werden zugeordnet. |
[ out] | Clientstubs werden bei der Rückgabe zugeordnet. | Der Serverstub weist nur den Zeiger auf oberster Ebene zu. Die Serveranwendung muss alle eingebetteten Zeiger zuordnen. Der Server ordnet auch nach Bedarf neue Daten zu. |
[ein, aus] | Die Clientanwendung muss die anfänglichen Daten zuordnen, die an den Server übertragen werden. Der Client-Stub weist zusätzliche Daten zu. | Der Server-Stub ordnet die anfänglichen Daten zu, die vom Client übertragen werden. Die Serveranwendung weist nach Bedarf neue Daten zu. |
In all diesen Fällen gibt der Client-Stub keinen Arbeitsspeicher frei. Die Clientanwendung muss den Arbeitsspeicher freigeben, bevor er beendet wird. Der Serverstub gibt Arbeitsspeicher frei, wenn der Remoteprozeduraufruf zurückgegeben wird (vorbehaltlich des [ allocate] ACF-Attributs).