#import Attributes (C++)
The latest version of this topic can be found at #import Attributes (C++). Provides links to attributes used with the #import directive.
Microsoft Specific
The following attributes are available to the #import directive.
Attribute | Description |
---|---|
auto_rename | Renames C++ reserved words by appending two underscores (__) to the variable name to resolve potential name conflicts. |
auto_search | Specifies that, when a type library is referenced with #import and itself references another type library, the compiler can do an implicit #import for the other type library. |
embedded_idl | Specifies that the type library is written to the .tlh file with the attribute-generated code preserved. |
exclude | Excludes items from the type library header files being generated. |
high_method_prefix | Specifies a prefix to be used in naming high-level properties and methods. |
high_property_prefixes | Specifies alternate prefixes for three property methods. |
implementation_only | Suppresses the generation of the .tlh header file (the primary header file). |
include() | Disables automatic exclusion. |
inject_statement | Inserts its argument as source text into the type-library header. |
named_guids | Tells the compiler to define and initialize GUID variables in old style, of the form LIBID_MyLib, CLSID_MyCoClass, IID_MyInterface, and DIID_MyDispInterface. |
no_auto_exclude | Disables automatic exclusion. |
no_dual_interfaces | Changes the way the compiler generates wrapper functions for dual interface methods. |
no_implementation | Suppresses the generation of the .tli header, which contains the implementations of the wrapper member functions. |
no_namespace | Specifies that the namespace name is not generated by the compiler. |
no_registry | Tells the compiler not to search the registry for type libraries. |
no_search_namespace | Has the same functionality as the no_namespace attribute but is used on type libraries that you use the #import directive with the auto_search attribute. |
no_smart_pointers | Suppresses the creation of smart pointers for all interfaces in the type library. |
raw_dispinterfaces | Tells the compiler to generate low-level wrapper functions for dispinterface methods and properties that call IDispatch::Invoke and return the HRESULT error code. |
raw_interfaces_only | Suppresses the generation of error-handling wrapper functions and property declarations that use those wrapper functions. |
raw_method_prefix | Specifies a different prefix to avoid name collisions. |
raw_native_types | Disables the use of COM support classes in the high-level wrapper functions and forces the use of low-level data types instead. |
raw_property_prefixes | Specifies alternate prefixes for three property methods. |
rename | Works around name collision problems. |
rename_namespace | Renames the namespace that contains the contents of the type library. |
rename_search_namespace | Has the same functionality as the rename_namespace attribute but is used on type libraries that you use the #import directive with the auto_search attribute. |
tlbid | Allows for loading libraries other than the primary type library. |
END Microsoft Specific