次の方法で共有


クライアント呼び出しのリッスン

サーバー アプリケーションがインターフェイスを登録し、必要なバインディング情報を作成し、そのエンドポイントを登録したら、クライアント プログラムからのリモート プロシージャ 呼び出しのリッスンを開始する準備が整います。

リモート プロシージャ コールをリッスンするには、次のコード フラグメントに示すように、サーバー プログラムで RpcServerListen を呼び出す必要があります。

RPC_STATUS status;
status = RpcServerListen(
    1,
    RPC_C_LISTEN_MAX_CALLS_DEFAULT,
    0);

RPC サーバーには、クライアント呼び出しを取得し、登録されたインターフェイス内のルーチンに配信する 1 つ以上のスレッドがあります。 RpcServerListen 関数の最初のパラメーターは、作成するスレッドの最小数です。 パラメーターはヒントにすぎません。RPC ランタイムでは、それを無視することを選択できます。

RpcServerListen の 2 番目のパラメーターは、処理する同時リモート プロシージャ呼び出しの最大数です。 アプリケーションで既定の最大値を使用する場合は、このパラメーターの値として RPC_C_LISTEN_MAX_CALLS_DEFAULTを渡します。

DCE 仕様では、 RpcServerListen を呼び出して、停止するシグナルを受信するまで実行を続けます。 この関数の Microsoft 拡張機能の 1 つは、リッスンを開始してすぐに返せるようにすることです。 アプリケーションで既定の DCE 動作を使用する場合は、3 番目のパラメーターを 0 に設定します。 詳細については、「 RpcServerListen」、「 RpcMgmtStopServerListening」、および 「RpcMgmtWaitServerListen 」を参照してください。