次の方法で共有


例 (RPC)

プラットフォーム ソフトウェア開発キット (SDK) には、次のようなさまざまなリモート プロシージャ コール (RPC) の概念を示す例が含まれています。

  • ASYNCRPC は、非同期リモート プロシージャ 呼び出しを使用する RPC アプリケーションの構造を示しています。 また、呼び出しの完了を通知するさまざまなメソッドも示します。

  • CLUUID は、クライアント オブジェクト UUID を使用して、クライアントがリモート プロシージャの複数の実装から選択できるようにする方法を示しています。

  • DATA ディレクトリには、4 つのプログラムが含まれています。DUNION は、判別された (カプセル化されていない) 共用体を示しています。INOUT は [in], [out] パラメーターを示します。REPAS は 、represent_as 属性を示します。XMIT は 、transmit_as 属性を示します。

  • DYNEPT は、動的エンドポイントを介してサーバーへの接続を管理するクライアント アプリケーションを示しています。

  • FILEREP ディレクトリには、開発者が単純なファイル レプリケーション サービス、マルチユーザー ファイル レプリケーション サービス、セキュリティ機能をサポートするサービス、RPC 非同期パイプを使用したサービスを記述する方法を示す 4 つのサンプルが含まれています。

  • HANDLES ディレクトリには、AUTO、CXHNDL、USRDEF の 3 つのプログラムが含まれています。 これは、それぞれauto_handle、[context_handle]、および汎用 (ユーザー定義) ハンドルを示しています。

  • HELLO は、"Hello, world" のクライアント/サーバー実装です。

  • PICKLE ディレクトリには、2 つのプログラムが含まれています。PICKLP はデータ プロシージャのシリアル化を示します。PICKLT は、データ型のシリアル化を示します。両方のプログラムで [encode] 属性と [decode] 属性が使用されます。

  • PIPES は、パイプ型コンストラクターの使用を示しています。

  • RPCSVC は、RPC を使用したサービスの実装を示しています。

  • STROUT では、2 次元オブジェクト (ポインターの配列) に対してサーバーにメモリを割り当て、[out] 専用パラメーターとしてクライアントに渡す方法を示します。 その後、クライアントはメモリを解放します。 この手法により、スタブは、返されるデータの量を事前に知らずにサーバーを呼び出すことができます。

    このプログラムを使用すると、ユーザーは UNICODE または ANSI 用にコンパイルすることもできます。

これらのプログラムのすべてのソース ファイルとメイクファイルは、Platform SDK にあります。

RPC アプリケーションの基本的な開発と簡単な例については、 チュートリアル のトピックを参照してください。