使用するバインド ハンドルの種類の選択

ベスト プラクティス: アプリケーションで使用するサーバーがわかっている場合は、明示的なハンドルを使用します。 そうでない場合は、毎回明示的なハンドルコンストラクトを使用するか、_bindルーチンと _unbind ルーチンで汎用ハンドル 使用します。

暗黙的なハンドルや自動ハンドルは使用しないでください。 暗黙的なハンドルはスレッド セーフではありません。スレッド セーフは不要と思われる場合でも、後で必要になる可能性があります。 自動ハンドルには大きなオーバーヘッドがあり、適切に動作するには多くのセットアップが必要です。 その検索機能は、Active Directory サービスに置き換えられます。

明示的なハンドルは非常に効率的であり、多くの魅力的な機能は明示的なハンドルでのみ使用できます。 たとえば、複数の RPC 呼び出しが同じサーバーに送信される場合は、バインド ハンドルを 1 回作成し、それを使用してすべての呼び出しを行うことができます。 この方法は、他のどの方法よりもはるかに効率的です。 呼び出しの対象となるサーバーが不明な場合は、呼び出しごとに明示的なバインド ハンドルを作成するか、汎用バインド ハンドルを使用します。

Microsoft™ Windows XP では、RPC ランタイムは呼び出しを再利用してキャッシュする際に非常に効率的であるため、n 番目の呼び出しと同じサーバーで n+ 1 番目の呼び出しが終了した場合、RPC は n番目の呼び出しに割り当てられたリソースを再利用し、パフォーマンスを向上させるためにバインディング ハンドルをキャッシュする必要性を回避します。