Import systémových hlaviček souborů
I když je často možné použít direktivu #include k zahrnutí souborů hlaviček do souboru IDL, nedoporučuje se. Kompilátor MIDL vygeneruje zástupné procedury pro všechny funkce definované v kompilovaném souboru IDL. Soubor hlaviček obvykle obsahuje řadu prototypů, které nepotřebujete ani nechcete zahrnout do souborů se zástupnými funkcemi, a #include efektivně vloží všechny tyto definice do vašeho hlavního souboru IDL. Kromě toho pokud jsou v hlavičkovém souboru definovány typy, které nelze vzdáleně zpřístupnit, soubor IDL se nemusí zkompilovat.
Definice typů ze souborů hlaviček v souboru IDL můžete zahrnout dvěma způsoby:
- K zahrnutí datových typů definovaných v hlavičkovém souboru použijte importní direktivu . Na rozdíl od direktivy jazyka C-language #includeimport direktiva přebírá pouze definice typů a konstant a ignoruje prototypy procedur. Tento přístup bude fungovat, pokud hlavní soubor IDL neodkazuje na žádné neremotable typy definované v souboru hlaviček.
- Vytvořte pomocný soubor IDL s fiktivním rozhraním, které obsahuje soubory hlaviček. Pak použijte direktivu import k zahrnutí pomocného souboru. Tímto způsobem se v kompilovaných zástupných procedurách zobrazí pouze typedefs. Například:
//in helper.idl:
interface dummy
{
#include "kitchensink.h"
#include "system.h"
}
//in main.idl:
import "helper.idl";