次の方法で共有


例 (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] 属性を使用します。

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

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

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

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

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

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