エンドポイントの登録
サーバー・プログラムをサーバー・ホスト・コンピューターのエンドポイント・マップに登録すると、クライアント・プログラムは、サーバー・プログラムがリッスンしているエンドポイント (通常は TCP/IP ポートまたは名前付きパイプ) を判別できます。 サーバー ホスト システムのエンドポイント マップに自身を登録するために、サーバー プログラムは、次のコード フラグメントに示すように RpcEpRegister 関数を呼び出します。
// This example assumes that MyInterface_v1_0_s_ifspec is a valid data
// structure that represents the interface being registered. The
// variable is a valid pointer to a binding vector.
RPC_STATUS status;
status = RpcEpRegister(
MyInterface_v1_0_s_ifspec,
rpcBindingVector,
NULL,
NULL);
RpcEpRegister の最初のパラメーターは、 インターフェイスを表す構造体です。 これは、この分散アプリケーションの MIDL ファイルから生成された MIDL コンパイラのヘッダー ファイルにあります。 「インターフェイスの開発」を参照してください。 次 に、RpcEpRegister では、バインド ベクターに格納されているバインド ハンドルのセットをアプリケーションで渡す必要があります。
サーバー アプリケーションでは、インターフェイス名の登録に加えて、エンドポイント マップにオブジェクト UUID を登録することもできます。 この例では、登録するオブジェクト UUID がないため、 RpcEpRegister の 3 番目のパラメーターは NULL に設定されています。
最後のパラメーターはコメント文字列です。 RPC ランタイム ライブラリではこの文字列は使用されませんが、システムの管理性が向上しているため、文字列を設定することをお勧めします。 システム管理者は、文字列を使用して、どのポートがどのアプリケーションで使用されているかを検出し、ファイアウォールで管理するポートを決定するために使用できます。