import (atributo)
La directiva import especifica otro archivo IDL, ODL o de encabezado que contiene definiciones a las que desea hacer referencia desde el archivo IDL principal.
import "filename" [[ , ... ]] ;
-
filename
-
Especifica el nombre del encabezado, IDL o archivo ODL que se va a importar.
Con la directiva import , todas las instrucciones IDL del archivo importado, como typedefs, declaraciones de constantes y definiciones de interfaz, están disponibles para la importación. Archivo IDL.
El archivo importado se procesa por separado (lo que significa que el preprocesador de CPP se invoca independientemente) desde el archivo IDL de importación. De este modo, las directivas de preprocesador, como #define, no pasan de un encabezado importado o archivo IDL al archivo IDL de importación.
Al igual que la macro de preprocesador de lenguaje C #include, la directiva import indica al compilador que incluya los tipos de datos definidos en los archivos IDL importados. A diferencia de la directiva #include , la directiva import omite los prototipos de procedimiento, ya que no se generan códigos auxiliares para nada en el archivo importado.
Para obtener información específica sobre el uso de la importación para incluir archivos de encabezado en un archivo IDL, consulte Importación de archivos de encabezado del sistema.
Encabezado del lenguaje C (. H) el archivo generado para la interfaz no contiene directamente los tipos importados, sino que genera una directiva #include para el archivo de encabezado correspondiente a la interfaz importada. Por ejemplo, al importar BASE. IDL en el derivado. IDL, el archivo de encabezado generado DERIVADO. H contendrá la directiva #include BASE.H.
Se aplican las reglas siguientes:
- La palabra clave import es opcional y puede aparecer cero o más veces en el archivo IDL.
- Cada palabra clave import se puede asociar con más de un nombre de archivo.
- Separe varios nombres de archivo con comas.
- Debe incluir el nombre de archivo entre comillas y finalizar la instrucción import con un punto y coma (;).
- Puede importar una interfaz que no tenga atributos en otro archivo IDL. Sin embargo, la interfaz solo debe contener tipos de datos; no puede contener ningún procedimiento. Si incluso un procedimiento está incluido en la interfaz importada, debe especificar un atributo UUID o local.
- La función de importación es idempotente, es decir, importar una interfaz más de una vez no tiene ningún efecto adicional.
Nota
El comportamiento de la directiva de importación es independiente del modo de compilador MIDL cambia /ms_ext (valor predeterminado), /osf y /app_config. Sin embargo, el modo del compilador (/osf o /ms_ext) puede afectar a la decoración de atributos de puntero en los tipos importados. Para más información, consulte Herencia de tipos de puntero-atributo.
import "myoldodl.odl";
import "unknwn.idl";
import "part1.idl", "part2.idl", "part3.idl";