Freigeben über


Import-Attribut

Die Importdirektive gibt eine andere IDL-, ODL- oder Headerdatei an, die Definitionen enthält, auf die Sie aus ihrer IDL-Hauptdatei verweisen möchten.

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

Parameter

filename

Gibt den Namen der zu importierenden Header-, IDL- oder ODL-Datei an.

Bemerkungen

Mit der Importdirektive werden alle IDL-Anweisungen in der importierten Datei wie Typedefs, Konstantendeklarationen und Schnittstellendefinitionen für den Import verfügbar. IDL-Datei.

Die importierte Datei wird separat verarbeitet (d. h. der CPP-Präprozessor wird unabhängig von der importierenden IDL-Datei aufgerufen). Auf diese Weise übertragen Vorprozessordirektiven, z. B. #define, nicht aus einer importierten Header- oder IDL-Datei in die importierte IDL-Datei.

Wie das C-Language-Präprozessormakro #include weist die Importdirektive dem Compiler an, Datentypen einzuschließen, die in den importierten IDL-Dateien definiert wurden. Im Gegensatz zur #include-Direktive ignoriert die Importdirektive Prozedurprototypen, da keine Stubs für alle Elemente in der importierten Datei generiert werden.

Spezifische Informationen zur Verwendung des Imports zum Einschließen von Headerdateien in eine IDL-Datei finden Sie unter Importieren von Systemheaderdateien.

Der C-Sprachheader (. H) Die für die Schnittstelle generierte Datei enthält nicht direkt die importierten Typen, sondern generiert stattdessen eine #include Direktive für die Headerdatei, die der importierten Schnittstelle entspricht. Wenn Sie z. B. BASE importieren. IDL in Ihren ABGELEITETen. IDL, die generierte Headerdatei ABGELEITET. H enthält die Direktive #include BASE.H.

Es gelten die folgenden Regeln:

  • Das Importschlüsselwort ist optional und kann in der IDL-Datei null oder mehr vorkommen.
  • Jedes Importschlüsselwort kann mehreren Dateinamen zugeordnet werden.
  • Trennen Sie mehrere Dateinamen durch Kommas.
  • Sie müssen den Dateinamen in Anführungszeichen setzen und die Importanweisung mit einem Semikolon (;)) beenden.
  • Sie können eine Schnittstelle importieren, die keine Attribute enthält, in eine andere IDL-Datei. Die Schnittstelle darf jedoch nur Datentypen enthalten; sie darf keine Prozeduren enthalten. Wenn selbst eine Prozedur in der importierten Schnittstelle enthalten ist, müssen Sie ein lokales oder UUID-Attribut angeben.
  • Die Importfunktion ist idempotent – d. h. das Importieren einer Schnittstelle mehr als einmal hat keine zusätzliche Auswirkung.

Hinweis

Das Verhalten der Importdirektive ist unabhängig von den MIDL-Compilermodusschaltern /ms_ext (Standard), /osf und /app_config. Der Compilermodus (/osf oder /ms_ext) kann sich jedoch auf die Deko von Zeigerattributen für importierte Typen auswirken. Ausführliche Informationen finden Sie unter Pointer-Attribute Typvererbung.

 

Beispiele

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

Siehe auch

/app_config

IdL-Datei (Interface Definition)

importlib

einschließen

Importieren von Systemheaderdateien

Importieren von Dateien und Typbibliotheken

/ms_ext

/Osf