クライアントの開発
RPC クライアント プログラムの開発は、サーバー プログラムの開発と似ています。 RPC サーバー プログラムの開発については、「サーバーの 開発」を参照してください。
サーバー開発と同様に、クライアント プログラムには、MIDL コンパイラが .idl ファイルから生成するヘッダー ファイルを含める必要があります。 MIDL コンパイラでは、クライアント スタブを含む C ソース ファイルも生成されます。 この C ソース ファイルをコンパイルし、クライアント プログラムにリンクする必要があります。 (さらに、MIDL コンパイラは、サーバー スタブを含む C ソース ファイルを生成しますが、この説明には関係ありません)。
クライアント スタブをコンパイルしてプログラム ファイルにリンクするだけでなく、インポート ライブラリ (およびクライアント プログラムに必要なその他のライブラリ) をクライアント プログラムにリンクする必要があります。 RPC クライアント プログラムを作成するプロセスを次の図に示します。
前の図の例は、MyClnt.exeという RPC クライアント プログラムの作成を示しています。 最初の手順では、MyApp.idl ファイルで インターフェイスを定義します。 MIDL コンパイラは MyApp.idl を使用して、クライアント スタブを含むファイル MyApp_c.c を生成します。 また、クライアント プログラムに含める必要がある MyApp.h ファイルも生成されます。 クライアント プログラムには、RPC.h ファイルと RPCNDR.h ファイルも含める必要があります。
クライアント プログラム自体は、MyClnt.c ファイルに作成されます。 実際のプロジェクトでは、通常、クライアント プログラムは複数の C ソース ファイルで構成されます。 これらのすべてをコンパイルしてリンクする必要があります。 ただし、この例では、わかりやすくするために 1 つのファイルのみを使用します。
MyClnt.c ファイルと MyApp_c.c ファイルはコンパイルされ、RPC ランタイム ライブラリ、およびクライアント プログラムに必要なその他のライブラリと共にリンクされます。 その結果、MyClnt.exeという名前の実行可能クライアント プログラムが生成されます。
OSF 互換モード (/osf) で IDL ファイルをコンパイルしない場合、クライアント・プログラムは、メモリーを割り振るための機能と、割り振り解除のための関数を提供する必要があります。 Windows 2000 以降のバージョンの場合、推奨モードは /Oicf です。 詳細については、「 メモリの割り当て方法と割り当て解除方法」および 「ポインターとメモリ割り当て」を参照してください。