Udostępnij za pośrednictwem


import atrybutu

Dyrektywa import określa inny plik IDL, ODL lub nagłówka zawierający definicje, do których chcesz się odwołać z głównego pliku IDL.

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

Parametry

filename

Określa nazwę nagłówka, IDL lub pliku ODL do zaimportowania.

Uwagi

Dzięki dyrektywie import wszystkie instrukcje IDL w importowanym pliku, takie jak typedefs, deklaracje stałe i definicje interfejsu stają się dostępne dla importowania . Plik IDL.

Zaimportowany plik jest przetwarzany oddzielnie (co oznacza, że preprocesor CPP jest wywoływany niezależnie) z importowanego pliku IDL. W ten sposób dyrektywy przed procesorem, takie jak #define, nie są przenoszone z zaimportowanego nagłówka lub pliku IDL do importowanego pliku IDL.

Podobnie jak makro preprocesora języka C #include, dyrektywa importowania nakazuje kompilatorowi uwzględnienie typów danych zdefiniowanych w zaimportowanych plikach IDL. W przeciwieństwie do dyrektywy #include dyrektywa importu ignoruje prototypy procedur, ponieważ żadne wycinki nie są generowane dla niczego w importowanym pliku.

Aby uzyskać szczegółowe informacje na temat dołączania plików nagłówkowych do pliku IDL przy użyciu importu , zobacz Importowanie plików nagłówków systemu.

Nagłówek języka C (. Plik H) wygenerowany dla interfejsu nie zawiera bezpośrednio importowanych typów, ale zamiast tego generuje dyrektywę #include dla pliku nagłówka odpowiadającego importowanemu interfejsowi. Na przykład podczas importowania bazy. IDL do twojego pochodnego. IDL, wygenerowany plik nagłówka POCHODNE. H będzie zawierać dyrektywę #include BASE.H.

Obowiązują następujące zasady:

  • Słowo kluczowe importu jest opcjonalne i może być wyświetlane zero lub więcej razy w pliku IDL.
  • Każde słowo kluczowe importu może być skojarzone z więcej niż jedną nazwą pliku.
  • Oddziel wiele nazw plików przecinkami.
  • Należy ująć nazwę pliku w cudzysłów i zakończyć instrukcję import średnikiem (;).
  • Interfejs, który nie ma atrybutów, można zaimportować do innego pliku IDL. Interfejs musi jednak zawierać tylko typy danych; nie może zawierać żadnych procedur. Jeśli nawet jedna procedura jest zawarta w zaimportowanym interfejsie, należy określić atrybut lokalny lub UUID .
  • Funkcja importu jest idempotentna — czyli importowanie interfejsu więcej niż raz nie ma dodatkowego efektu.

Uwaga / Notatka

Zachowanie dyrektywy import jest niezależne od przełączników trybu kompilatora MIDL /ms_ext (wartość domyślna), /osf i /app_config. Jednak tryb kompilatora (/osf lub /ms_ext) może mieć wpływ na dekorację atrybutu wskaźnika na importowanych typach. Aby uzyskać szczegółowe informacje, zobacz Pointer-Attribute Typ dziedziczenia.

 

Examples

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

Zobacz także

/app_config

Plik definicji interfejsu (IDL)

importlib

Obejmują

Importowanie plików nagłówków systemu

Importowanie plików i bibliotek typów

/ms_ext

/Osf