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 テンプレートの特定のプロパティを記述するフラグ値。

意味
RPC_BHT_OBJECT_UUID_VALID
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 は静的バインド ハンドルを動的なハンドルに変換して、下位互換性を維持します。

次の表は、 RpcBindingResetRpcEpResolveBinding に関する静的および動的バインド ハンドルの動作を示しています。

エンドポイントの種類 静的 動的
バインド ハンドルの種類 速い クラシック 速い クラシック
RpcBindingReset No-op 動的に変換します。 解決されたエンドポイントが存在する場合は削除します 解決されたエンドポイントが存在する場合は削除します
RpcEpResolveBinding No-op No-op 以前に解決されていない場合はエンドポイントを解決します 以前に解決されていない場合はエンドポイントを解決します

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header rpcdce.h (Rpc.h を含む)

こちらもご覧ください

RPC_BINDING_HANDLE

RpcBindingBind

RpcBindingCreate