RpcServerUseProtseqEp

The RpcServerUseProtseqEp function tells the RPC run-time library to use the specified protocol sequence combined with the specified endpoint for receiving remote procedure calls.

This function is supported by both 32-bit platforms — Windows NT and Windows 95.

For a list of Microsoft RPC's supported protocol sequences, see the reference topic String Binding in RPC Data Types and Structures.

#include <rpc.h>
RPC_STATUS RPC_ENTRY RpcServerUseProtseqEp( 
  unsigned char *  Protseq,   
  unsigned int  MaxCalls,   
  unsigned char *  Endpoint,   
  void *  SecurityDescriptor  
);
 

Parameters

Protseq
Points to a string identifier of the protocol sequence to register with the RPC run-time library.
MaxCalls
Specifies the maximum number of concurrent remote procedure call requests the server wants to handle.

The RPC run-time library guarantees that the server can accept at least this number of concurrent call requests. The actual number can be greater, depending on the selected protocol sequence.

Use RPC_C_PROTSEQ_MAX_REQS_DEFAULT to specify the default value.

Endpoint
Points to the endpoint-address information to use in creating a binding for the protocol sequence specified in the Protseq argument.
SecurityDescriptor
Points to an optional parameter provided for the Microsoft Windows NT security subsystem. Note that this parameter does not appear in the DCE specification for this API.

Remarks

A server application calls the RpcServerUseProtseqEp routine to register one protocol sequence with the RPC run-time library. With each protocol sequence registration, RpcServerUseProtseqEp includes the specified endpoint-address information.

To receive remote procedure call requests, a server must register at least one protocol sequence with the RPC run-time library. A server application can call this routine multiple times to register additional protocol sequences and endpoints.

For each protocol sequence registered by a server, the RPC run-time library creates one or more binding handles through which the server receives remote procedure call requests.

The MaxCalls argument allows the server to specify the maximum number of concurrent remote procedure call requests the server wants to be able to handle.

See Server Application RPC API Calls for a description of the routines that a server will typically call after registering protocol sequences.

Return Values

Value Meaning
RPC_S_OK Success
RPC_S_PROTSEQ_NOT_SUPPORTED Protocol sequence not supported on this host
RPC_S_INVALID_RPC_PROTSEQ Invalid protocol sequence
RPC_S_INVALID_ENDPOINT_FORMAT Invalid endpoint format
RPC_S_OUT_OF_MEMORY Out of memory
RPC_S_DUPLICATE_ENDPOINT Endpoint is duplicate
RPC_S_INVALID_SECURITY_DESC Security descriptor invalid

QuickInfo

  Windows NT: Yes
  Windows CE: Unsupported.
  Header: Declared in rpcdce.h.
  Import Library: Link with rpcrt4.lib.

See Also

RpcBindingVectorFree, RpcEpRegister, RpcEpRegisterNoReplace, RpcNsBindingExport, RpcServerInqBindings, RpcServerListen, RpcServerRegisterIf, RpcServerUseAllProtseqs, RpcServerUseAllProtseqsIf, RpcServerUseProtseq, RpcServerUseProtseqIf