RPC_BINDING_HANDLE_TEMPLATE_V1_A 構造体 (rpcdce.h)
RPC_BINDING_HANDLE_TEMPLATE_V1構造体には、RPC バインド ハンドルを作成するための基本的なオプションが含まれています。
構文
typedef struct _RPC_BINDING_HANDLE_TEMPLATE_V1_A {
unsigned long Version;
unsigned long Flags;
unsigned long ProtocolSequence;
unsigned char *NetworkAddress;
unsigned char *StringEndpoint;
union {
unsigned char *Reserved;
} u1;
UUID ObjectUuid;
} RPC_BINDING_HANDLE_TEMPLATE_V1_A, *PRPC_BINDING_HANDLE_TEMPLATE_V1_A;
メンバー
Version
この構造体のバージョン。 RPC_BINDING_HANDLE_TEMPLATE_V1の場合、これは 1 に設定する必要があります。
Flags
RPC テンプレートの特定のプロパティを記述するフラグ値。
値 | 意味 |
---|---|
|
ObjectUuid メンバーには有効な値が含まれています。 このフラグが設定されていない場合、ObjectUuid メンバーには有効な UUID が含まれません。 |
ProtocolSequence
このバインディング ハンドルに関連付けられているプロトコル シーケンス ID。 次のいずれかの値を指定できます。
- RPC_PROTSEQ_LRPC - ローカル RPC を指定します。
- RPC_PROTSEQ_TCP - TCP/IP 経由の RPC を指定します。
- RPC_PROTSEQ_NMP - 名前付きパイプに対する RPC を指定します。
- RPC_PROTSEQ_HTTP - HTTP 経由の RPC を指定します。
NetworkAddress
バインド先のネットワーク アドレスの文字列表現へのポインター。
StringEndpoint
バインドするエンドポイントの文字列表現へのポインター。 動的エンドポイントを使用する場合は、このメンバーを NULL に設定します。 エンドポイントが解決されたら、 RpcBindingToStringBinding を 使用してエンドポイントを取得します。
u1
u1.Reserved
予約済み。 このメンバーは NULL に設定する必要があります。
ObjectUuid
リモート オブジェクトの UUID。 この UUID のセマンティクスは、文字列バインディングのセマンティクスと同じです。 バインド ハンドルが作成されたら、 RpcBindingSetObject を呼び出して、必要に応じて UUID を変更します。
注釈
高速バインド ハンドルは、 RpcBindingReset の呼び出し中に処理される "クラシック" バインド ハンドルとは若干異なります。 RpcBindingReset は、静的高速バインディング ハンドルの操作なしの呼び出しです。 ただし、クラシック バインド ハンドルの場合、 RpcBindingReset は静的バインド ハンドルを動的なハンドルに変換して、下位互換性を維持します。
次の表は、 RpcBindingReset と RpcEpResolveBinding に関する静的および動的バインド ハンドルの動作を示しています。
エンドポイントの種類 | 静的 | 動的 | ||
---|---|---|---|---|
バインド ハンドルの種類 | 速い | クラシック | 速い | クラシック |
RpcBindingReset | No-op | 動的に変換します。 | 解決されたエンドポイントが存在する場合は削除します | 解決されたエンドポイントが存在する場合は削除します |
RpcEpResolveBinding | No-op | No-op | 以前に解決されていない場合はエンドポイントを解決します | 以前に解決されていない場合はエンドポイントを解決します |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
Header | rpcdce.h (Rpc.h を含む) |