Delen via


Systeemkopbestanden importeren

Hoewel het vaak mogelijk is om de #include instructie te gebruiken om headerbestanden in uw IDL-bestand op te nemen, wordt het niet aanbevolen. De MIDL-compiler genereert stubs voor alle functies die zijn gedefinieerd in het IDL-bestand dat wordt gecompileerd. Meestal bevat een headerbestand een aantal prototypes die u niet nodig hebt en die u niet wilt opnemen in uw stub-bestanden en een #include al deze definities effectief in uw hoofd-IDL-bestand plaatst. Als er niet-verwijderbare typen zijn gedefinieerd in het headerbestand, kan het IDL-bestand bovendien niet worden gecompileerd.

Er zijn twee manieren om typedefinities op te nemen uit headerbestanden in een IDL-bestand:

  • Gebruik de importeren instructie om gegevenstypen op te nemen die zijn gedefinieerd in een headerbestand. In tegenstelling tot de C-taal #include richtlijn, haalt de import- richtlijn alleen type- en constante definities op en negeert procedureprototypes. Deze aanpak werkt zolang uw hoofd-IDL-bestand niet verwijst naar niet-verwijderbare typen die zijn gedefinieerd in het headerbestand.
  • Maak een helper-IDL-bestand met een dummy-interface die de headerbestanden bevat. Gebruik vervolgens de instructie importeren om het helperbestand op te nemen. Op deze manier worden alleen de typedefs weergegeven in de gecompileerde stubs. Bijvoorbeeld:
//in helper.idl:
interface dummy
{ 
   #include "kitchensink.h"
   #include "system.h"
}

//in main.idl:
import "helper.idl";