WRL 类库项目模板


Visual Studio 2013

如果使用 Visual Studio 编写 Windows 运行时 C++ 模板库 (WRL) 项目,可以通过下载 WRL 类库项目模板极大地简化任务。

说明

如果必须手动更新现有的项目设置,请参见 DLL (C++/CX)

Visual Studio 为 WRL 项目不提供一个模板。 如何下载这是创建 Windows 应用商店 应用的基本类库与 WRL的项目模板。

下载“VSIX 项目”模板。

  1. 在菜单栏上,选择“文件”,再选择“新建项目”

  2. 在对话框的左窗格中,展开“配置属性”,然后选择“常规”,选择模版

  3. 在 搜索联机模板 右上角框中,键入 WRL 类库。 当模板出现在搜索结果中,选择 确定 按钮。

  4. 在对话框中,下载并安装,如果您同意许可时间限制,请选择 安装 按钮。

  5. 在模板上安装后,请通过选择 文件新建项目,然后选择 WRLClassLibrary,创建项目模板。 创建DLL项目

将使用此模板创建 Windows 运行时 组件的示例。演练:使用 WRL 创建基本 Windows 运行时组件

测试项目模板

  • 声明 MIDL 的 .idl 文件提供基本界面特性其类实现。 以下是一个示例。

    C++
    import "inspectable.idl";
    import "Windows.Foundation.idl";
    
    #define COMPONENT_VERSION 1.0
    
    namespace WRLClassLibrary
    {
        interface IWinRTClass;
        runtimeclass WinRTClass;
    
        [uuid(89656677-8679-477c-aff1-f724c64b70f3), version(COMPONENT_VERSION), exclusiveto(WinRTClass)] 
        interface IWinRTClass : IInspectable
        {
        }
    
        [version(COMPONENT_VERSION), activatable(COMPONENT_VERSION)]
        runtimeclass WinRTClass
        {
            [default] interface IWinRTClass;
        }
    }
    
  • 定义了类实现的 .cpp 文件。 以下是一个示例。

    C++
    #include "pch.h"
    
    #include "WRLClassLibrary_h.h"
    #include <wrl.h>
    
    using namespace Microsoft::WRL;
    using namespace Windows::Foundation;
    
    namespace ABI
    {
        namespace WRLClassLibrary
        {
            class WinRTClass: public RuntimeClass<IWinRTClass>
            {
                InspectableClass(L"WRLClassLibrary.WinRTClass", BaseTrust)
    
            public:
                WinRTClass()
                {
                }
            };
    
            ActivatableClass(WinRTClass);
        }
    }
    

    RuntimeClass 基类来帮助管理所有全局对象引用模块中以及 IUnknown 声明和 IInspectable 接口的方法。InspectableClass 宏实现 IUnknown 和 IInspectable ActivatableClass 宏创建类实例的类工厂。

  • 文件中定义库导出了 DllMainDllCanUnloadNowDllGetActivationFactory和 DllGetClassObject的 module.cpp。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值