RpcServerUseAllProtseqsIf

The RpcServerUseAllProtseqsIf function tells the RPC run-time library to use all the specified protocol sequences and endpoints in the interface specification 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 RpcServerUseAllProtseqsIf( 
  unsigned int  MaxCalls,   
  RPC_IF_HANDLE  IfSpec,   
  void *  SecurityDescriptor  
);
 

Parameters

MaxCalls
Specifies the maximum number of concurrent remote procedure call requests the server can accept.

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 and can vary for each protocol sequence.

Use RPC_C_PROTSEQ_MAX_REQS_DEFAULT to specify the default value.

IfSpec
Specifies the interface containing the protocol sequences and corresponding endpoint information to use in creating binding handles.
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 RpcServerUseAllProtseqsIf routine to register with the RPC run-time library all the protocol sequences and associated endpoint-address information provided in the IDL file.

To receive remote procedure call requests, a server must register at least one protocol sequence with the RPC run-time library.

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 RPC run-time library creates different binding handles for each protocol sequence.

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

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

To register selected protocol sequences specified in the IDL file, a server calls the RpcServerUseProtseqIf routine.

Return Values

Value Meaning
RPC_S_OK Success
RPC_S_NO_PROTSEQS No supported protocol sequences
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
RPC_S_INVALID_RPC_PROTSEQ RPC protocol sequence 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, RpcServerRegisterIfEx, RpcServerRegisterIf, RpcServerUseAllProtseqs, RpcServerUseProtseq, RpcServerUseProtseqEp, RpcServerUseProtseqIf