The number of communication ports for a particular server can be limited. For example, when you use the ncacn_nb_nb protocol sequence, indicating that RPC network communication occurs using NetBIOS over NetBEUI, only 234 ports are available. The RPC run-time libraries allow you to assign endpoints dynamically as needed.
The application selects a dynamic endpoint in one of two ways: on the client side it uses a null string to indicate the endpoint when it composes a string binding, and on the server side it registers the server application in the name-service database, or it calls RpcServerUseProtseq or RpcServerUseAllProtseqs to explicitly select dynamic endpoints.
The dynamic endpoint is registered in an endpoint-map database. This a database that is managed by a specific service which creates and deletes elements for applications. In Windows NT™ and Windows® 95, the endpoint-mapping service is called RPCSS. The dynamic endpoint expires when the server instance stops running. To remove the old endpoint from the endpoint mapper database, call RpcEpUnregister at application termination.