您的位置:首页 > 其它

WRL 类库项目模板

2015-08-02 19:56 232 查看



Visual Studio 2013

其他版本



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

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



下载“VSIX
项目”模板。

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


下载“VSIX 项目”模板。

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

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

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

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

在模板上安装后,请通过选择 文件新建项目,然后选择 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 宏实现 IUnknownIInspectableActivatableClass 宏创建类实例的类工厂。

文件中定义库导出了 DllMainDllCanUnloadNowDllGetActivationFactoryDllGetClassObject的 module.cpp。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: