Utilisation de MIDL

Toutes les interfaces pour les programmes utilisant RPC doivent être définies dans Microsoft Interface Definition Language (MIDL) et compilées avec le compilateur MIDL. Les rubriques suivantes présentent une brève vue d’ensemble de la création et de la compilation d’une interface MIDL :

Pour une présentation détaillée de ces rubriques, consultez Les fichiers IDL et ACF.

Définition d’une interface avec MIDL

Les fichiers MIDL sont des fichiers texte que vous pouvez créer et modifier avec un éditeur de texte. Si vous générez un UUID pour votre interface, vous stockez généralement la sortie dans un fichier MIDL de modèle. Pour plus d’informations sur les UUID, consultez Génération d’UUIDs d’interface.

Toutes les interfaces dans MIDL suivent le même format. Ils commencent par un en-tête qui contient une liste d’attributs d’interface et le nom de l’interface. Les attributs sont placés entre crochets. L’en-tête de l’interface est suivi de son corps, qui est placé entre crochets. Une interface simple est illustrée dans l’exemple suivant :

[
  uuid(ba209999-0c6c-11d2-97cf-00c04f8eea45),
  version(1.0)
]
interface MyInterface
{
  const unsigned short INT_ARRAY_LEN = 100;

  void MyRemoteProc( 
      [in] int param1,
      [out] int outArray[INT_ARRAY_LEN]
  );
}

Certains des attributs qui apparaissent généralement dans une définition d’interface MIDL sont l’UUID et le numéro de version de l’interface. Le corps de la définition d’interface doit contenir les déclarations de procédure de toutes les procédures distantes dans l’interface. Il peut également contenir les déclarations des types de données et des constantes requis par l’interface.

Tous les paramètres des déclarations de procédure distante doivent être déclarés comme [in], [out] ou [in, out]. Ces déclarations spécifient que le programme client passe des données dans une procédure distante, obtient des données d’une procédure distante, ou les deux. Pour plus d’informations sur les déclarations de paramètres d’interface, consultez Corps de l’interface IDL.

Compilation d’un fichier MIDL

Le compilateur MIDL est un outil en ligne de commande qui est automatiquement installé avec le Kit de développement logiciel (SDK) de plateforme. Appelez-le dans une fenêtre de commande en tapant la commande midl, suivi du nom d’un fichier MIDL, sur la ligne de commande. Assurez-vous que le répertoire contenant le compilateur MIDL se trouve dans votre chemin d’accès. L’exemple suivant illustre son utilisation :

midl MyApp.idl

Notez que vous n’avez pas besoin d’inclure l’extension si le nom de fichier a l’extension .idl. Vous pouvez également utiliser les commutateurs de ligne de commande du compilateur MIDL en les insérant entre la commande midl et le nom de fichier. Cela est illustré dans l’exemple suivant :

midl /acf MyApp.acf MyApp.idl

Dans cet exemple, le compilateur MIDL est exécuté à l’aide du fichier MyApp.idl comme fichier d’entrée. Le commutateur de ligne de commande /acf indique au compilateur d’utiliser également un fichier de configuration d’application (ACF) pour l’entrée. Les fichiers de configuration d’application sont abordés plus en détail dans Les fichiers IDL et ACF.

Pour plus d’informations sur l’utilisation du compilateur MIDL, consultez Microsoft Interface Definition Language (MIDL), qui contient des informations sur les rubriques suivantes :