Partager via


import (attribut)

La directive import spécifie un autre fichier IDL, ODL ou d’en-tête contenant les définitions que vous souhaitez référencer à partir de votre fichier IDL main.

import "filename" [[ , ... ]] ;

Paramètres

filename

Spécifie le nom du fichier d’en-tête, IDL ou ODL à importer.

Notes

Avec la directive import , toutes les instructions IDL dans le fichier importé, telles que les typesdefs, les déclarations constantes et les définitions d’interface, deviennent disponibles pour l’importateur . Fichier IDL.

Le fichier importé est traité séparément (ce qui signifie que le préprocesseur CPP est appelé indépendamment) du fichier IDL d’importation. De cette façon, les directives préprocesseur, telles que #define, ne reportent pas d’un en-tête ou d’un fichier IDL importé vers le fichier IDL d’importation.

Comme la macro de préprocesseur en langage C #include, la directive import indique au compilateur d’inclure les types de données qui ont été définis dans les fichiers IDL importés. Contrairement à la directive #include , la directive d’importation ignore les prototypes de procédure, car aucun stub n’est généré pour quoi que ce soit dans le fichier importé.

Pour plus d’informations sur l’utilisation de l’importation pour inclure des fichiers d’en-tête dans un fichier IDL, consultez Importation de fichiers d’en-tête système.

En-tête du langage C (. H) le fichier généré pour l’interface ne contient pas directement les types importés, mais génère à la place une directive #include pour le fichier d’en-tête correspondant à l’interface importée. Par exemple, lorsque vous importez BASE. IDL dans votre DERIVED. IDL, fichier d’en-tête généré DERIVED. H contiendra la directive #include BASE.H.

Les règles suivantes s’appliquent :

  • L’importation mot clé est facultative et peut apparaître zéro ou plusieurs fois dans le fichier IDL.
  • Chaque mot clé d’importation peut être associée à plusieurs noms de fichier.
  • Séparez plusieurs noms de fichiers par des virgules.
  • Vous devez placer le nom de fichier entre guillemets et terminer l’instruction import par un point-virgule (;).
  • Vous pouvez importer une interface qui n’a aucun attribut dans un autre fichier IDL. Toutefois, l’interface doit contenir uniquement des types de données ; il ne peut pas contenir de procédures. Si une seule procédure est contenue dans l’interface importée, vous devez spécifier un attribut local ou UUID .
  • La fonction d’importation est idempotente, c’est-à-dire que l’importation d’une interface plusieurs fois n’a aucun effet supplémentaire.

Notes

Le comportement de la directive d’importation est indépendant des commutateurs du mode du compilateur MIDL /ms_ext (valeur par défaut), /osf et /app_config. Toutefois, le mode du compilateur (/osf ou /ms_ext) peut affecter la décoration des attributs de pointeur sur les types importés. Pour plus d’informations, consultez Héritage du type pointeur-attribut.

 

Exemples

import "myoldodl.odl";  
import "unknwn.idl";
import "part1.idl", "part2.idl", "part3.idl"; 

Voir aussi

/app_config

Fichier de définition d’interface (IDL)

importlib

Inclure

Importation de fichiers d’en-tête système

Importation de fichiers et de bibliothèques de types

/ms_ext

/Osf