#import 特性 (C++)

提供指向用于 #import 指令的特性的链接。

Microsoft 专用

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

特性

说明

auto_rename

通过将两个下划线 (__) 追加到变量名称来重命名 C++ 保留字,从而解决可能的名称冲突。

auto_search

指定当使用 #import 引用了类型库,并且它本身引用了另一个类型库时,编译器可以为其他类型库执行隐式 #import。

embedded_idl

指定将类型库写入保留了特性生成的代码的 .tlh 文件。

exclude (#import)

从要生成的类型库标头文件中排除项。

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

告知编译器生成低级别的调度接口方法的包装器函数和调用 IDispatch::Invoke 并返回 HRESULT 错误代码的属性。

raw_interfaces_only

取消错误处理的包装器函数的生成以及使用那些包装器函数的 属性 (C++) 声明。

raw_method_prefix

指定不同的前缀以避免名称冲突。

raw_native_types

禁止在高级包装器函数中使用 COM 支持类,并强制改用低级数据类型。

raw_property_prefixes

指定用于三个属性方法的备用前缀。

重命名 (#import)

解决名称冲突问题。

rename_namespace

重命名包含类型库内容的命名空间。

rename_search_namespace

rename_namespace 特性的功能相同,但在类型库中使用时,可以将 #import 指令与 auto_search 特性结合使用。

tlbid

允许加载主类型库之外的库。

结束 Microsoft 专用

请参见

参考

#import 指令 (C++)