RPC_ENDPOINT_TEMPLATEW 構造体 (rpcdce.h)
RPC_ENDPOINT_TEMPLATE構造体は、プロトコル シーケンスと名前など、RPC インターフェイス グループ サーバー エンドポイントのプロパティを指定します。
構文
typedef struct {
unsigned long Version;
RPC_WSTR ProtSeq;
RPC_WSTR Endpoint;
void *SecurityDescriptor;
unsigned long Backlog;
} RPC_ENDPOINT_TEMPLATEW, *PRPC_ENDPOINT_TEMPLATEW;
メンバー
Version
このフィールドは予約されており、0 に設定する必要があります。
ProtSeq
RPC ランタイム ライブラリに登録するプロトコル シーケンスの文字列識別子へのポインター。 ncalrpc、ncacn_ip_tcp、およびncacn_npのみがサポートされています。 この値は NULL にすることはできません。
Endpoint
Protseq パラメーターで指定されたプロトコル シーケンスのバインドの作成に使用するエンドポイント アドレス情報へのオプションのポインター。 動的エンドポイントを使用するには 、NULL を 指定します。
SecurityDescriptor
セキュリティ サブシステムに指定された省略可能なパラメーターへのポインター。 ncacn_npおよび ncalrpc プロトコル シーケンスにのみ使用されます。 他のすべてのプロトコル シーケンスでは、このパラメーターは無視されます。 サーバーをセキュリティで保護するために、エンドポイントでセキュリティ記述子を使用することはお勧めしません。
Backlog
ncacn_ip_tcp プロトコル シーケンスのバックログ キューの長さ。 他のすべてのプロトコル シーケンスでは、このパラメーターは無視されます。 既定値を指定するには、RPC_C_PROTSEQ_MAX_REQS_DEFAULTを使用します。 詳細については、「解説」を参照してください。
注釈
アプリケーションによって Backlog で提供される値は、ヒントにすぎません。 RPC ランタイムまたは Windows ソケット プロバイダーによって値がオーバーライドされる場合があります。 たとえば、Windows XP または Windows 2000 Professional では、値は 5 に制限されます。 5 より大きい値は無視され、代わりに 5 が使用されます。 Windows Server 2003 および Windows 2000 Server では、値が受け入れられます。
アプリケーションは 、バックログで妥当な値を渡すように注意する必要があります。 Server、Advanced Server、または Datacenter Server の値が大きいと、大量の非ページ プール メモリが使用される可能性があります。 値が小さすぎると、バックログ キューが使い果たされた場合にサーバーから TCP RST によって TCP SYN パケットが満たされる可能性があるため、この値を使用しても好ましくない場合があります。
アプリケーション開発者は 、バックログの適切な値を決定する際に、メモリ占有領域とスケーラビリティ要件のバランスを取る必要があります。
注意
rpcdce.h ヘッダーは、RPC_ENDPOINT_TEMPLATEをエイリアスとして定義します。これは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
Header | rpcdce.h (Rpc.h を含む) |