RPC_ENDPOINT_TEMPLATEA structure (rpcdce.h)
The RPC_ENDPOINT_TEMPLATE structure specifies the properties of an RPC interface group server endpoint, including protocol sequence and name.
Syntax
typedef struct {
unsigned long Version;
RPC_CSTR ProtSeq;
RPC_CSTR Endpoint;
void *SecurityDescriptor;
unsigned long Backlog;
} RPC_ENDPOINT_TEMPLATEA, *PRPC_ENDPOINT_TEMPLATEA;
Members
Version
This field is reserved and must be set to 0.
ProtSeq
Pointer to a string identifier of the protocol sequence to register with the RPC run-time library. Only ncalrpc, ncacn_ip_tcp, and ncacn_np are supported. This value must not be NULL.
Endpoint
Optional pointer to the endpoint-address information to use in creating a binding for the protocol sequence specified in the Protseq parameter. Specify NULL to use dynamic endpoints.
SecurityDescriptor
Pointer to an optional parameter provided for the security subsystem. Used only for ncacn_np and ncalrpc protocol sequences. All other protocol sequences ignore this parameter. Using a security descriptor on the endpoint in order to make a server secure is not recommended.
Backlog
Backlog queue length for the ncacn_ip_tcp protocol sequence. All other protocol sequences ignore this parameter. Use RPC_C_PROTSEQ_MAX_REQS_DEFAULT to specify the default value. See Remarks for more information.
Remarks
The value provided in Backlog by applications is only a hint. The RPC run time or the Windows Sockets provider may override the value. For example, on Windows XP or Windows 2000 Professional, the value is limited to 5. Values greater than 5 are ignored and 5 is used instead. On Windows Server 2003 and Windows 2000 Server, the value will be honored.
Applications must be careful to pass reasonable values in Backlog. Large values on Server, Advanced Server, or Datacenter Server can cause a large amount of non-paged pool memory to be used. Using too small a value is also unfavorable, as it may result in TCP SYN packets being met by TCP RST from the server if the backlog queue gets exhausted.
An application developer should balance memory footprint versus scalability requirements when determining the proper value for Backlog.
Note
The rpcdce.h header defines RPC_ENDPOINT_TEMPLATE as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 [desktop apps only] |
Minimum supported server | Windows Server 2012 [desktop apps only] |
Header | rpcdce.h (include Rpc.h) |