Développement de l’interface

Une interface RPC décrit les fonctions distantes que le programme serveur implémente. L’interface garantit que le client et le serveur communiquent à l’aide des mêmes règles lorsque le client appelle une procédure distante que le serveur propose. Une interface se compose d’un nom d’interface, de certains attributs, de définitions facultatives de type ou de constante et d’un ensemble de déclarations de procédure. Chaque déclaration de procédure doit contenir un nom de procédure, un type de retour et une liste de paramètres.

Les interfaces sont définies dans le langage MIDL (Microsoft Interface Definition Language). Si vous êtes familiarisé avec C ou C++, les définitions d’interface MIDL vous semblent assez simples. MIDL ressemble à C et C++ à bien des égards.

Lors du développement d’une application RPC, un éditeur de texte est utilisé pour définir l’interface et la stocker dans un fichier texte avec une extension .idl. Pour plus d’informations, consultez Les fichiers IDL et ACF. Le compilateur MIDL génère un fichier d’en-tête que votre programme inclut dans les fichiers source du client et du serveur. Le compilateur MIDL génère également deux fichiers sources C. Vous compilez et liez l’un d’entre eux à votre programme client et l’autre à votre programme serveur. Ces deux fichiers sources C sont les stubs client et serveur. Pour obtenir une vue d’ensemble des stubs du client et du serveur, consultez Fonctionnement du RPC. Pour obtenir une vue d’ensemble du compilateur MIDL, consultez Compilation d’un fichier MIDL.

Par défaut, le stub du client et du serveur portent le même nom, ce qui peut entraîner des problèmes si le client est lié au stub du serveur, ou inversement. L’utilisation de l’option MIDL /préfixe empêche cette erreur courante de se produire.

L’illustration suivante montre le processus de création d’une interface.

la création de stubs client et serveur avec l’option /préfixe empêche les problèmes de compilation accidentels

Il est possible que vous deviez également spécifier un fichier de configuration d’application (ACF) pour l’entrée dans le compilateur MIDL. Pour plus d’informations sur les fichiers de configuration d’application, consultez Les fichiers IDL et ACF.

En plus du compilateur MIDL, vous devez généralement utiliser l’utilitaire Uuidgen pour générer un identificateur unique universel (UUID, interchangeable avec le terme GUID). Cette section présente des informations sur ces deux outils, divisées en rubriques suivantes :