WRL 类库项目模板
如果使用 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.0namespace 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 宏创建类实例的类工厂。
文件中定义库导出了 DllMain、DllCanUnloadNow、DllGetActivationFactory和 DllGetClassObject的 module.cpp。
WRL 类库项目模板相关推荐
- iOS 静态类库项目的建立与使用
新建 Xcode workspace 打开 Xcode , 选择 File -> New -> Workspace , 将 Workspace 命名为 Test.xcworkspace , ...
- SpringBoot 项目模板:摆脱步步搭建
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 本文作者 ...
- 后端开发实践:Spring Boot项目模板
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达今日推荐:2020年7月程序员工资统计,平均14357元,又跌了,扎心个人原创100W+访问量博客:点击前往,查看更多 作者 ...
- 后端开发实践:Spring Boot项目模板,拿去用吧!
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:干掉 Navicat:这个 IDEA 的兄弟真香!个人原创100W+访问量博客:点击前往,查看更多 作者:无知者 ...
- ASP.NET 自定义项目模板
前言 在微服务架构盛行的时代,一言不合就新建一个服务,虽然搭建服务并没什么难度,但不可避免的是每个人搭建出来的架子会存在差异,这很合理,因为每个开发者的个人风格.工作经验都不一样,难免认为自己喜欢的才 ...
- 从零开始实现ASP.NET Core MVC的插件式开发(二) - 如何创建项目模板
标题:从零开始实现ASP.NET Core MVC的插件式开发(二) - 如何创建项目模板 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/11155 ...
- Java 后端开发实践 - 项目模板(16 步)
在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...
- 后端开发实践——Spring Boot项目模板
在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...
- 后端开发实践系列——Spring Boot项目模板
在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...
最新文章
- Linux 0.00 代码解析(一)
- 伟大的人为什么伟大呢?
- python 计算小于某个数_python 列表寻找满足某个条件的开始索引和结束索引、区间范围...
- windows更改pip源_让你的 pip下载速度 飞起来
- 图形用户界面和交互输入方法---图形用户界面的设计
- VScode输出中文乱码的解决方法------测试过可以用
- ICD3 - Cannot connect to USB device. Unrecognized endpoint.
- 二部图 欧拉图 哈密顿图 平面图 判定条件
- Windows10邮件添加qq邮箱已过期问题
- discuz自定义模板制作
- scholarscope不显示影响因子_你的pubmed又不能显示影响因子了,因为 ……
- Package.json文件配置
- 厘米换算英寸英尺(PTA题解)
- 股票入门(一)基础知识
- 大气数据计算机英语,[听单词] 计算机专业英语词汇音频87,计算机英语单词MP3
- 现代操作系统学习笔记三、死锁
- 死锁(死锁的发生条件、预防死锁、避免死锁)
- 高并发写场景:秒杀系统库存扣减
- 一分钟用HCaas搭建Frp内网穿透
- 【实验】流量控制之分为流量抑制和风暴控制