Windows Dev Center

RPC_BINDING_HANDLE_TEMPLATE_V1 structure

The RPC_BINDING_HANDLE_TEMPLATE_V1 structure contains the basic options with which to create an RPC binding handle.

Syntax


typedef struct _RPC_BINDING_HANDLE_TEMPLATE {
  unsigned long  Version;
  unsigned long  Flags;
  unsigned long  ProtocolSequence;
  unsigned short *NetworkAddress;
  unsigned short *StringEndpoint;
  union {
    unsigned short *Reserved;
  } u1;
  UUID           ObjectUuid;
} RPC_BINDING_HANDLE_TEMPLATE_V1, RPC_BINDING_HANDLE_TEMPLATE;

Members

Version

The version of this structure. For RPC_BINDING_HANDLE_TEMPLATE_V1 this must be set to 1.

Flags

Flag values that describe specific properties of the RPC template.

ValueMeaning
RPC_BHT_OBJECT_UUID_VALID

The ObjectUuid member contains a valid value. If this flag is not set, then the ObjectUuid member does not contain a valid UUID.

 

ProtocolSequence

A protocol sequence string literal associated with this binding handle. It can be one of the following values.

ncalrpc (Specifies local RPC.)
ncacn_ip_tcp (Specifies RPC over TCP/IP.)
ncacn_np (Specifies RPC over named pipes.)
ncacn_http (Specifies RPC over HTTP.)
NetworkAddress

Pointer to a string representation of the network address to bind to.

StringEndpoint

Pointer to a string representation of the endpoint to bind to. If a dynamic endpoint is used, set this member to NULL. After the endpoint is resolved, use RpcBindingToStringBinding to obtain it.

u1
Reserved

Reserved. This member must be set to NULL.

ObjectUuid

The UUID of the remote object. The semantics for this UUID are the same as those for a string binding. After the binding handle is created, call RpcBindingSetObject to change the UUID as needed.

Remarks

Fast binding handles are slightly different from "classic" binding handles in the way they are handled during calls to RpcBindingReset. RpcBindingReset is a no-op call for static fast binding handles. For classic binding handles, however, RpcBindingReset converts a static binding handle into a dynamic one to preserve backwards compatibility.

The following table demonstrates the behavior of static and dynamic binding handles with regards to RpcBindingReset and RpcEpResolveBinding.

Endpoint TypeStaticDynamic
Binding Handle TypeFastClassicFastClassic
RpcBindingReset No-opConverts to dynamicRemoves resolved endpoint if one is presentRemoves resolved endpoint if one is present
RpcEpResolveBinding No-opNo-opResolves endpoint if not previously resolvedResolves endpoint if not previously resolved

 

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]

Header

Rpcdce.h (include Rpc.h)

See also

RPC_BINDING_HANDLE
RpcBindingBind
RpcBindingCreate

 

 

Community Additions

ADD
Show:
© 2015 Microsoft