#import 特性 (C++)

提供指向与 #import 指令一起使用的特性的链接。

Microsoft 专用

以下特性可供 #import 指令使用。

Attribute 说明
auto_rename 通过将两个下划线 (__) 追加到变量名称来重命名 C++ 保留字,从而解决可能的名称冲突。
auto_search 指定当使用 #import 引用了类型库,并且它本身引用了另一个类型库时,编译器可以为其他类型库执行隐式 #import。
embedded_idl 指定将类型库写入保留了特性生成的代码的 .tlh 文件。
exclude 从要生成的类型库标头文件中排除项。
high_method_prefix 指定用于命名高级属性和方法的前缀。
high_property_prefixes 指定用于三个属性方法的备用前缀。
implementation_only 取消生成 .tlh 头文件(主要头文件)。
include() 禁用自动排除。
inject_statement 将其自变量作为源文本插入类型库标头。
named_guids 指示编译器以旧样式定义和初始化 LIBID_MyLibCLSID_MyCoClassIID_MyInterfaceDIID_MyDispInterface 形式的 GUID 变量。
no_auto_exclude 禁用自动排除。
no_dual_interfaces 更改编译器为双重接口方法生成包装器函数的方式。
no_implementation 取消生成 .tli 标头,它包含包装器成员函数的实现。
no_namespace 指定命名空间的名称不由编译器生成。
no_registry 告知编译器不在注册表中搜索类型库。
no_search_namespace 具有与 no_namespace 属性相同的功能,但用于将 #import 指令与 auto_search 属性一起使用的类型库。
no_smart_pointers 取消对类型库中所有接口的智能指针的创建。
raw_dispinterfaces 告知编译器生成低级别的 dispinterface 方法的包装器函数和调用 IDispatch::Invoke 并返回 HRESULT 错误代码的属性。
raw_interfaces_only 禁止生成使用这些包装函数的错误处理包装函数和属性声明。
raw_method_prefix 指定不同的前缀以避免名称冲突。
raw_native_types 禁止在高级包装器函数中使用 COM 支持类,并强制改用低级数据类型。
raw_property_prefixes 指定用于三个属性方法的备用前缀。
rename 解决名称冲突问题。
rename_namespace 重命名包含类型库内容的命名空间。
rename_search_namespace 具有与 rename_namespace 属性相同的功能,但用于将 #import 指令与 auto_search 属性一起使用的类型库。
tlbid 允许加载主类型库之外的库。

结束 Microsoft 专用

另请参阅

#import 指令