Generación de una biblioteca de tipos con MIDL
El elemento de nivel superior de la sintaxis de ODL es la instrucción de biblioteca (bloque de biblioteca). Todas las demás instrucciones ODL, a excepción de los atributos que se aplican a la instrucción de biblioteca, deben definirse dentro del bloque de biblioteca. Cuando el compilador MIDL ve un bloque de biblioteca, genera una biblioteca de tipos de la misma manera que MkTypLib. Con algunas excepciones, descritas en Diferencias entre MIDL y MKTYPLIB, las instrucciones del bloque de biblioteca deben seguir la misma sintaxis que en el lenguaje ODL y MkTypLib.
Nota
La herramienta Mktyplib.exe está obsoleta. En su lugar, use el compilador MIDL.
Puede aplicar atributos ODL a elementos definidos dentro o fuera del bloque de biblioteca. Estos atributos no tienen ningún efecto fuera del bloque de biblioteca a menos que se haga referencia al elemento al que se hace referencia desde el bloque de biblioteca. Las instrucciones dentro del bloque de biblioteca pueden hacer referencia a un elemento externo mediante su uso como tipo base, heredar de él o haciendo referencia a él en una línea, como se muestra:
<some IDL definitions including definitions for interface IFace and struct bar>
[<some attributes>]
library a
{
interface IFace;
struct this_struct;
...
};
Si se hace referencia a un elemento definido fuera del bloque de biblioteca dentro del bloque de biblioteca, su definición se colocará en la biblioteca de tipos generada. El compilador MIDL trata las instrucciones fuera de un bloque de biblioteca como un archivo IDL típico y analiza esas instrucciones tal y como siempre ha hecho. Normalmente, esto significa generar códigos auxiliares del lenguaje C para una aplicación RPC.
Para obtener más información sobre la sintaxis general de un archivo ODL, consulte Sintaxis de archivo ODL.