Číst v angličtině

Sdílet prostřednictvím


Generování knihovny typů pomocí MIDL

Element nejvyšší úrovně syntaxe ODL je příkaz knihovny (blok knihovny). Každý druhý příkaz ODL s výjimkou atributů použitých na příkaz knihovny musí být definován v rámci bloku knihovny. Když kompilátor MIDL uvidí blok knihovny, vygeneruje knihovnu typů stejným způsobem jako MkTypLib. S několika výjimkami, které jsou popsány v Rozdíly mezi MIDL a MKTYPLIB, příkazy v bloku knihovny by měly následovat stejnou syntaxi jako v jazyce ODL a MkTypLib.

Poznámka

Nástroj Mktyplib.exe je zastaralý. Místo toho použijte kompilátor MIDL.

 

Atributy ODL můžete použít u prvků, které jsou definovány uvnitř nebo mimo blok knihovny. Tyto atributy nemají žádný vliv mimo blok knihovny, pokud se na prvek, na který se vztahují, neodkazuje v rámci bloku knihovny. Příkazy uvnitř bloku knihovny mohou odkazovat na vnější prvek buď jeho použitím jako základního typu, děděním z něj, nebo odkazováním na něj v kódu, jak je uvedeno níže:

<some IDL definitions including definitions for interface IFace and struct bar>
[<some attributes>]
library a
{
    interface IFace;
    struct this_struct;
...
};

Pokud je v bloku knihovny odkazován prvek definovaný mimo blok knihovny, jeho definice se vloží do vygenerované knihovny typů. Kompilátor MIDL zachází s příkazy mimo blok knihovny jako s typickým souborem IDL a parsuje tyto příkazy jako vždy. Obvykle to znamená generování stubů jazyka C pro aplikaci RPC.

Další informace o obecné syntaxi souboru ODL, viz Syntaxe souboru ODL.