importlib attribute
The [importlib] directive makes types that have already been compiled into another type library available to the type library being created.
[
library-attributes
]
library (library-name)
{
importlib(file-to-import);
...
}
-
library-attributes
-
Zero or more attributes that will be applied to the library.
-
library-name
-
The identifier that software components will use to denote this library.
-
file-to-import
-
The name and location of the imported file at MIDL compile-time.
All [importlib] directives must precede the other type descriptions in the library. Note that the imported library, as well as the generated library, must be distributed with the application so that it is available at run time.
In most cases you should use the MIDL [import] directive to reference definitions from another .IDL file in your .IDL file. This method provides your type library with all the information from the original file, whereas [importlib] only brings in the contents of the type library.
Note
The [importlib] directive makes any type defined in the imported library accessible from within the library being compiled. To avoid ambiguity when there are duplicate references, we recommend that you qualify each such reference with the appropriate library name, as follows:
library_name.type
In the absence of such qualification, MIDL resolves duplicate reference ambiguity as follows:
- Effective with version 3.1, MIDL uses the first reference it finds.
- Version 3.0 of MIDL, the first version of MIDL that could generate type libraries, uses the last reference it found.
library BrowseHelper
{
importlib("stdole32.tlb");
importlib("mydisp.tlb");
//Remainder of library definition
};