Écoute des appels clients
Une fois que votre application serveur a inscrit ses interfaces, créé les informations de liaison nécessaires et inscrit ses points de terminaison, elle est prête à commencer à écouter les appels de procédure distante des programmes clients.
Pour écouter les appels de procédure distante, votre programme serveur doit appeler RpcServerListen, comme indiqué dans le fragment de code suivant :
RPC_STATUS status;
status = RpcServerListen(
1,
RPC_C_LISTEN_MAX_CALLS_DEFAULT,
0);
Un serveur RPC a un ou plusieurs threads qui récupèrent les appels clients et les livrent aux routines dans les interfaces inscrites. Le premier paramètre de la fonction RpcServerListen est le nombre minimal de threads à créer. Le paramètre n’est qu’un indicateur ; l’exécution rpc peut choisir de l’ignorer.
Le deuxième paramètre de RpcServerListen est le nombre maximal d’appels de procédure distante simultanés à gérer. Si vous souhaitez que votre application utilise la valeur maximale par défaut, transmettez RPC_C_LISTEN_MAX_CALLS_DEFAULT comme valeur pour ce paramètre.
La spécification DCE demande à RpcServerListen de continuer à s’exécuter jusqu’à ce qu’il reçoive un signal d’arrêt. L’une des extensions Microsoft de cette fonction consiste à lui permettre de commencer à écouter et à revenir immédiatement. Si vous souhaitez que votre application utilise le comportement DCE par défaut, définissez le troisième paramètre sur zéro. Pour plus d’informations, consultez RpcServerListen, RpcMgmtStopServerListening et RpcMgmtWaitServerListen .