Specifying the Protocol Sequence

One of the first acts of the server application is to specify the protocol sequences over which it can communicate with clients.

The protocol sequence is a character string that represents a valid combination of an RPC protocol (such as "ncacn"), a transport protocol (such as "tcp"), and a network protocol (such as "ip"). Microsoft RPC supports the following protocol sequences:

Protocol sequence
Description

Supporting Platforms
ncacn_nb_tcp Connection-oriented NetBIOS over TCP Client only: MS-DOS, Windows 3.x
Client and server: Windows NT
ncacn_nb_ipx Connection-oriented NetBIOS over IPX Client only: MS-DOS, Windows 3.x
Client and server: Windows NT
ncacn_nb_nb Connection-oriented NetBEUI Client only: MS-DOS, Windows 3.x
Client and server: Windows NT, Windows 95
ncacn_ip_tcp Connection-oriented TCP/IP Client only: MS-DOS,Windows 3.x, and Apple® Macintosh®
Client and server: Windows 95 and Windows NT
ncacn_np Connection-oriented named pipes Client only: MS-DOS, Windows 3.x, Windows 95
Client and server: Windows NT
ncacn_spx Connection-oriented SPX Client only: MS-DOS, Windows 3.x
Client and server: Windows NT, Windows 95
ncacn_dnet_nsp Connection-oriented DECnet Client only: MS-DOS, Windows 3.x
ncacn_at_dsp Connection-oriented AppleTalk DSP Client: Apple Macintosh
ncacn_vns_spp Connection-oriented Vines SPP transport Client and Server: Windows NT
ncadg_ip_udp Datagram (connectionless) UDP/IP Client only: MS-DOS, Windows 3.x
Client and server: Windows NT
ncadg_ipx Datagram (connectionless)
IPX
Client only: MS-DOS, Windows 3.x
Client and server: Windows NT
ncalrpc Local procedure call Client and server: Windows NT and Windows 95

The server application specifies a single protocol sequence by calling one of the functions that starts with the prefix "RpcServerUseProtseq." The server specifies all supported protocol sequences by calling RpcServerUseAllProtseqs.

The function you choose to specify protocol sequences also specifies information about the endpoint. The endpoint can be specified explicitly (RpcServerUseProtseqEp), culled from the IDL file (RpcServerUseProtseqIf, RpcServerUseAllProtseqsIf), or selected for the application by the run-time library (RpcServerUseProtseq, RpcServerUseAllProtseqs). These are the choices:

"Protseq" function Description
RpcServerUseAllProtseqs Registers all protocols using dynamic endpoints.
RpcServerUseAllProtseqsIf Registers all protocols with endpoints from the IDL file.
RpcServerUseProtseq Registers one protocol using a dynamic endpoint.
RpcServerUseProtseqEp Registers one protocol with the specified endpoint.
RpcServerUseProtseqIf Registers one protocol with the endpoint in the IDL file.

The server application specifies endpoint information at the same time it specifies the protocol sequence by calling the RPC function that starts with the prefix "RpcServerUseProtseq" or "RpcServerUseAllProtseqs." The endpoint specifies the communication port through which clients make remote procedure calls to the server. For more information about endpoints, see Endpoints.