Inscription de l’interface
L’inscription de l’interface prise en charge par un programme serveur permet de distribuer les appels de procédure distante à partir de programmes clients vers la routine serveur appropriée. Les programmes serveur appellent RpcServerRegisterIf pour inscrire leurs interfaces. Le fragment de code suivant illustre son utilisation :
RPC_STATUS status;
status = RpcServerRegisterIf(MyInterface_v1_0_s_ifspec, NULL, NULL);
Le premier paramètre de la fonction RpcServerRegisterIf est une structure que le compilateur MIDL génère à partir du fichier IDL qui définit l’interface (ou les interfaces) du serveur. Les deuxième et troisième paramètres sont respectivement un UUID et un vecteur de point d’entrée. Ils sont définis sur NULL dans cet exemple. Dans de nombreux cas, votre programme serveur définit ces valeurs de paramètres sur NULL. Les programmes serveur utilisent les deuxième et troisième paramètres lorsqu’ils fournissent plusieurs implémentations des mêmes procédures dans une interface. Pour plus d’informations, consultez Vecteurs de point d’entrée.
Les programmes serveur peuvent également utiliser RpcServerRegisterIfEx pour inscrire une interface. L’un des avantages de cette fonction est qu’elle permet à votre application de définir une fonction de rappel de sécurité. L’utilisation des fonctions de rappel de sécurité est l’approche recommandée pour sécuriser une interface.
Notes
MIDL produit deux structures très similaires, l’une pour le client et l’autre pour le serveur. La structure passée à la fonction RpcServerRegisterIf est la version serveur de la structure produite par MIDL.