ポインターと RPC
ポインターを C 関数パラメーターとして使用することは非常に効率的です。 ポインターは数バイトしかかからず、大量のメモリにアクセスするために使用できます。 ただし、分散アプリケーションでは、クライアントプロシージャとサーバープロシージャは異なるアドレス空間に存在し、異なるコンピュータ上に配置できます。 そのため、通常、クライアントとサーバーは同じメモリ領域にアクセスできません。
リモート プロシージャのパラメーターの 1 つがオブジェクトへのポインターである場合、クライアントはそのオブジェクトとそのポインターのコピーをサーバーに送信する必要があります。 リモート プロシージャがポインターを介してオブジェクトを変更した場合、サーバーはポインターとその変更されたコピーを返します。
MIDL には、必要なオーバーヘッドの量とアプリケーションのサイズを最小限に抑えるためのポインター属性が用意されています。 このセクションでは、MIDL ポインター属性の目的と使用方法について説明します。 また、RPC アプリケーションでのポインター処理に関する情報も示します。 次のトピックに分かれています。
- ポインター の の種類
- ポインターとメモリ割り当て
- 既定のポインター型 を する
- Pointer-Attribute 型の継承