Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Direktiva importu určuje jiný soubor IDL, ODL nebo hlavičky obsahující definice, na které chcete odkazovat z hlavního souboru IDL.
import "filename" [[ , ... ]] ;
Parametry
-
filename
-
Určuje název hlavičky, souboru IDL nebo ODL, který se má importovat.
Poznámky
Při direktivě importu budou pro import k dispozici všechny příkazy IDL v importovaném souboru, jako jsou typedefs, konstantní deklarace a definice rozhraní . IDL soubor.
Importovaný soubor se zpracovává samostatně (což znamená, že preprocesor CPP je vyvolán nezávisle) z importovaného souboru IDL. Tímto způsobem se direktivy předběžného procesoru, například #define, nepřenesou z importované hlavičky nebo souboru IDL do importovaného souboru IDL.
Stejně jako makro preprocesoru jazyka C #include direktiva importu říká kompilátoru, aby zahrnoval datové typy definované v importovaných souborech IDL. Na rozdíl od direktivy #include direktiva importu ignoruje prototypy procedur, protože v importovaném souboru nejsou generovány žádné zástupné procedury.
Konkrétní informace o použití importu k zahrnutí souborů hlaviček do souboru IDL naleznete v tématu Import souborů hlaviček systému.
Hlavička jazyka C (. H) soubor vygenerovaný pro rozhraní neobsahuje přímo importované typy, ale místo toho generuje direktivu #include pro hlavičkový soubor odpovídající importovanému rozhraní. Například při importu BASE. IDL do tvého ODVOZENÍ. IDL, vygenerovaný hlavičkový soubor DERIVED. H bude obsahovat direktivu #include BASE.H.
Platí následující pravidla:
- Klíčové slovo importu je volitelné a může se v souboru IDL objevit nulou nebo vícekrát.
- Každé klíčové slovo importu lze přidružit k více než jednomu názvu souboru.
- Oddělte více názvů souborů čárkami.
- Název souboru musíte uzavřít do uvozovek a ukončit příkaz importu středníkem (;).
- Do jiného souboru IDL můžete importovat rozhraní, které nemá žádné atributy. Rozhraní však musí obsahovat pouze datové typy; nesmí obsahovat žádné postupy. Pokud je v importovaném rozhraní obsažena i jedna procedura, musíte zadat místní nebo UUID atribut.
- Funkce importu je idempotentní – to znamená, že import rozhraní více než jednou nemá žádný další účinek.
Poznámka:
Chování direktivy importu je nezávislé na přepínačích režimu kompilátoru MIDL /ms_ext (výchozí), /osf a /app_config. Režim kompilátoru (/osf nebo /ms_ext) však může ovlivnit dekoraci atributů ukazatele u importovaných typů. Podrobnosti najdete v tématuPointer-Attribute Dědičnost typů.
Příklady
import "myoldodl.odl";
import "unknwn.idl";
import "part1.idl", "part2.idl", "part3.idl";
Viz také