RPC_ENDPOINT_TEMPLATEA 構造体 (rpcdce.h)
RPC_ENDPOINT_TEMPLATE構造体は、プロトコル シーケンスと名前を含む RPC インターフェイス グループ サーバー エンドポイントのプロパティを指定します。
構文
typedef struct {
unsigned long Version;
RPC_CSTR ProtSeq;
RPC_CSTR Endpoint;
void *SecurityDescriptor;
unsigned long Backlog;
} RPC_ENDPOINT_TEMPLATEA, *PRPC_ENDPOINT_TEMPLATEA;
メンバー
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 by applications で提供される値は、ヒントにすぎません。 RPC ランタイムまたは Windows ソケット プロバイダーが値をオーバーライドする場合があります。 たとえば、Windows XP または Windows 2000 Professional では、値は 5 に制限されます。 5 より大きい値は無視され、代わりに 5 が使用されます。 Windows Server 2003 および Windows 2000 Server では、値が優先されます。
アプリケーションは 、Backlog で適切な値を渡すように注意する必要があります。 Server、Advanced Server、または Datacenter Server の値が大きいと、大量の非ページ プール メモリが使用される可能性があります。 値が小さすぎると、バックログ キューが使い果たされた場合に、サーバーから TCP RST によって TCP SYN パケットが満たされる可能性があるため、値を使用しても好ましくない場合があります。
アプリケーション開発者は 、Backlog の適切な値を決定する際に、メモリ占有領域とスケーラビリティ要件のバランスを取る必要があります。
注意
rpcdce.h ヘッダーは、RPC_ENDPOINT_TEMPLATEをエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
Header | rpcdce.h (Rpc.h を含む) |