The RpcServerUseProtseqIf function tells the RPC run-time library to use the specified protocol sequence combined with the 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 RpcServerUseProtseqIf(
unsigned char * Protseq,
unsigned int MaxCalls,
RPC_IF_HANDLE IfSpec,
void * SecurityDescriptor
);
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.
Note The Microsoft RPC implementation of RpcServerUseProtseqIf includes a new, additional parameter, SecurityDescriptor, that does not appear in the DCE specification.
A server application calls the RpcServerUseProtseqIf routine to register one protocol sequence with the RPC run-time library. With each protocol-sequence registration, the routine includes the 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. A server application can call this routine multiple times to register additional protocol sequences.
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.
To register all protocol sequences from the IDL file, a server calls the RpcServerUseAllProtseqsIf routine.
Value | Meaning |
---|---|
RPC_S_OK | Success |
RPC_S_PROTSEQ_NOT_FOUND | The endpoint for this protocol sequence not specified in the IDL file |
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_INVALID_SECURITY_DESC | Security descriptor invalid |
Windows NT: Yes
Windows CE: Unsupported.
Header: Declared in rpcdce.h.
Import Library: Link with rpcrt4.lib.
RpcBindingVectorFree, RpcEpRegister, RpcEpRegisterNoReplace, RpcNsBindingExport, RpcServerInqBindings, RpcServerListen, RpcServerRegisterIf, RpcServerUseAllProtseqs, RpcServerUseAllProtseqsIf, RpcServerUseProtseq, RpcServerUseProtseqEp