BEEPER 属性示例:演示可分离的 (Tearoff) 接口
更新:2007 年 11 月
BEEPER 属性示例阐释可分离的 (Tearoff) 接口(BSTR 值的集合/枚举)的实现。它可以生成为 DLL 和 EXE。
BEEPER 示例为此示例的非属性化版本。
安全说明: |
---|
提供该示例代码是为了阐释一个概念,并不代表着最安全的编码实践,因此不应在应用程序或网站中使用该示例代码。对于超出本示例代码的预期用途以外的使用所造成的偶然或继发性损失,Microsoft 不承担任何责任。 |
获取示例和安装示例的说明:
在 Visual Studio 的“帮助”菜单上,单击“示例”。
有关更多信息,请参见定位示例文件。
示例的最新版本和完整列表可以从 Visual Studio 2008 Samples page(Visual Studio 2008 示例页面)联机获取。
还可以在计算机的硬盘上查找示例。默认情况下,示例和自述文件将复制到 \Program Files\Visual Studio 9.0\Samples\ 下的文件夹中。对于 Visual Studio 速成版,所有示例都位于联机位置。
生成并运行示例
生成并运行此示例
打开解决方案文件 beeper.sln。
在“生成”菜单中,单击“生成解决方案”。
示例生成后,在 Web 浏览器中打开 beeper.htm 文件(使用 VBScript 的 HTML 文件)并按其说明进行操作。
属性
此示例使用下面的属性:
aggregatable、coclass、dual、emitidl、helpstring、id、in、module、object、out、pointer_default、progid、propget、restricted、retval、support_error_info、threading、uuid、version
关键字
此示例使用以下关键字:
BEGIN_COM_MAP、CComCoClass、CComModule::Unlock、CComObjectRoot、COM_INTERFACE_ENTRY、COM_INTERFACE_ENTRY_TEAR_OFF、DECLARE_GET_CONTROLLING_UNKNOWN、DECLARE_NOT_AGGREGATABLE、DECLARE_REGISTRY、END_COM_MAP、FinalConstruct、IDispatchImpl、ISupportErrorInfo、PostThreadMessage、return Error、SysAllocString、THREADFLAGS_BOTH
说明: |
---|
其中某些示例(如此示例)尚未经过修改以反映 Visual C++ 向导、库和编译器中所做的更改,但仍演示了如何完成所需的任务。 |