パラメーターに適用される方向属性
方向属性 [の] と [アウト] によって、クライアントとサーバーによるメモリの割り当て方法と解放方法が決まります。 次の表は、方向属性がメモリ割り当てに及ぼす影響をまとめたものです。
方向属性 | クライアント上のメモリ | サーバー上のメモリ |
---|---|---|
[ の] | クライアント アプリケーションは、呼び出しの前に割り当てる必要があります。 | サーバー スタブによって割り当てられます。 |
[ の] | クライアント スタブは、返却時に割り当てます。 | サーバー スタブは最上位ポインターのみを割り当てます。サーバー アプリケーションは、すべての埋め込みポインターを割り当てる必要があります。 サーバーは、必要に応じて新しいデータも割り当てます。 |
[の, ] | クライアント アプリケーションは、サーバーに送信される初期データを割り当てる必要があります。クライアント スタブは追加のデータを割り当てます。 | サーバー スタブは、クライアントから送信された初期データを割り当てます。サーバー アプリケーションは、必要に応じて新しいデータを割り当てます。 |
いずれの場合も、クライアント スタブはメモリを解放しません。 クライアント アプリケーションは、終了する前にメモリを解放する必要があります。 サーバー スタブは、リモート プロシージャ呼び出しが戻ったときにメモリを解放します ([allocate] ACF 属性に従います)。