RpcServerUseAllProtseqsIf 関数 (rpcdce.h)
RpcServerUseAllProtseqsIf 関数は、リモート プロシージャ 呼び出しを受信するために、インターフェイス仕様で指定されたすべてのプロトコル シーケンスとエンドポイントを使用するように RPC ランタイム ライブラリに指示します。
構文
RPC_STATUS RpcServerUseAllProtseqsIf(
unsigned int MaxCalls,
RPC_IF_HANDLE IfSpec,
void *SecurityDescriptor
);
パラメーター
MaxCalls
ncacn_ip_tcp プロトコル シーケンスのバックログ キューの長さ。 他のすべてのプロトコル シーケンスでは、このパラメーターは無視されます。 既定値を指定するには、RPC_C_PROTSEQ_MAX_REQS_DEFAULTを使用します。 「解説」を参照してください。
IfSpec
バインディング ハンドルの作成に使用するプロトコル シーケンスと対応するエンドポイント情報を含むインターフェイス。
SecurityDescriptor
セキュリティ サブシステムに提供される省略可能なパラメーターへのポインター。 ncacn_npおよび ncalrpc プロトコル シーケンスにのみ使用されます。 他のすべてのプロトコル シーケンスでは、このパラメーターは無視されます。 サーバーをセキュリティで保護するためにエンドポイントでセキュリティ記述子を使用することはお勧めしません。 このパラメーターは、この API の DCE 仕様には表示されません。
戻り値
値 | 意味 |
---|---|
|
呼び出しは成功しました。 |
|
サポートされているプロトコル シーケンスはありません。 |
|
エンドポイントの形式。 |
|
システムがメモリ不足です。 |
|
エンドポイントが重複しています。 |
|
セキュリティ記述子が無効です。 |
|
RPC プロトコル シーケンスが無効です。 |
注釈
リモート プロシージャ コール要求を受信するには、サーバーが RPC ランタイム ライブラリに少なくとも 1 つのプロトコル シーケンスを登録する必要があります。 サーバーによって登録されたプロトコル シーケンスごとに、RPC ランタイム ライブラリによって、サーバーがリモート プロシージャ コール要求を受信する 1 つ以上のエンドポイントが作成されます。 RPC ランタイム ライブラリは、プロトコル シーケンスごとに異なるエンドポイントを作成します。
アプリケーションは 、MaxCalls で適切な値を渡すように注意する必要があります。 Server、Advanced Server、または Datacenter Server の値が大きいと、大量の非ページ プール メモリが使用される可能性があります。 値が小さすぎると、バックログ キューが使い果たされた場合に、サーバーから TCP RST によって TCP SYN パケットが満たされる可能性があるため、値を使用しても好ましくない場合があります。 アプリケーション開発者は、 MaxCalls の適切な値を決定するときに、メモリ占有領域とスケーラビリティ要件のバランスを取る必要があります。
選択的バインディングを使用するようにコンピューターが構成されている場合、正常な戻り値は、サーバーがコンピューター上にあるすべてのネットワーク インターフェイスのエンドポイントを作成したことを保証しません。 RPC ランタイムは、選択的バインディング設定によっては、一部のネットワーク インターフェイスでリッスンしない場合があります。 さらに、インターフェイスが DHCP を使用して IP アドレスをまだ受信していない場合、RPC サーバーは DHCP アドレスが割り当てられるまでネットワーク インターフェイスでリッスンしません。 正常な戻り値は、サーバーが少なくとも 1 つのネットワーク インターフェイスでリッスンしていることを意味します。 RpcServerInqBindings 関数の呼び出しを使用して、リモート プロシージャ 呼び出しを受信できるバインディング ハンドルの完全な一覧を取得できます。
詳細については、「 サーバー側バインド」を参照してください。 IDL ファイルで指定された選択したプロトコル シーケンスを登録するために、サーバーは RpcServerUseProtseqIf を呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | rpcdce.h (Rpc.h を含む) |
Library | Rpcrt4.lib |
[DLL] | Rpcrt4.dll |