visual stdio 使用ATL简单使用COM组件

先试用visual stdio创建ATL项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择第一个创建ATL简单对象

在这里插入图片描述
ProgId也需要添加一下,默认创建完之后添加方法
在这里插入图片描述

STDMETHODIMP AddNumber(LONG __num, LONG* result);

在这里插入图片描述
添加定义

STDMETHODIMP_(HRESULT __stdcall) CATLSimpleObject::AddNumber(LONG __num, LONG* result)
{*result = __num * __num ;return S_OK;
}

在这里插入图片描述
在下面添加如下接口
在这里插入图片描述

[id(1)] HRESULT AddNumber([in] LONG __num, [out,retval] LONG* _result);

in表示输入,out表示输出,最后一个retval表示返回值,必须前面跟out

最后编译
在这里插入图片描述
然后在生成动态库的路径下注册regsvr32 -i .\ATLProject1.dll
在这里插入图片描述

在这里插入图片描述

注册成功后再当前解决方案添加一个控制台应用添加COM组件使用
在这里插入图片描述

// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//#include <iostream>
#include "ATLProject1_i.c"
#include "ATLProject1_i.h"
#include <windows.h>int main()
{IATLSimpleObject* testAdd;if (CoInitialize(NULL) != S_OK){std::cout << "初始化COM失败" << std::endl;return -1;}HRESULT hResult = CoCreateInstance(CLSID_ATLSimpleObject, NULL, CLSCTX_INPROC_SERVER, IID_IATLSimpleObject, (void**)&testAdd);if (hResult != S_OK){std::cout << "实例化C0M失败" << std::endl;return -2;}long result;testAdd->AddNumber(9, &result);std::cout << "9+9=" << result << std::endl;std::cout << "Hello World!\n";Sleep(5000);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/705689.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LASSO算法

LASSO (Least Absolute Shrinkage and Selection Operator) 是一种回归分析的方法&#xff0c;它能够同时进行变量选择和正则化&#xff0c;以增强预测准确性和模型的解释性。LASSO通过在损失函数中加入一个L1惩罚项来实现这一点。该惩罚项对系数的绝对值进行约束。 基本概念 …

【深度学习笔记】深度卷积神经网络——AlexNet

深度卷积神经网络&#xff08;AlexNet&#xff09; 在LeNet提出后&#xff0c;卷积神经网络在计算机视觉和机器学习领域中很有名气。但卷积神经网络并没有主导这些领域。这是因为虽然LeNet在小数据集上取得了很好的效果&#xff0c;但是在更大、更真实的数据集上训练卷积神经网…

Linux 学习笔记(1-3)

一、 常用命令 LINUX 常用操作命令和命令行编辑快捷键 终端快捷键&#xff1a; Ctrl a/Home 切换到命令行开始 Ctrl e/End 切换到命令行末尾 Ctrl l 清除屏幕内容&#xff0c;效果等同于 clear Ctrl u 清除剪切光标之前的内容 Ctrl k 剪切清除光标之后的内容…

数学建模论文、代码百度网盘链接

1.[2018中国大数据年终总决赛冠军] 金融市场板块划分与轮动规律挖掘与可视化问题 2.[2019第九届MathorCup数模二等奖] 数据驱动的城市轨道交通网络优化策略 3.[2019电工杯一等奖] 露天停车场停车位的优化设计 4.[2019数学中国网络数模一等奖] 基于机器学习的保险业数字化变革…

后端分布式系统:提高可靠性和可伸缩性的架构

在当今的数字时代&#xff0c;随着用户数量和数据量的不断增长&#xff0c;传统的集中式系统已经难以满足企业的需求。为了解决这些挑战&#xff0c;后端分布式系统应运而生。这种架构将系统的不同组件分布在多个计算机上&#xff0c;通过网络进行通信和协调&#xff0c;从而提…

深度强化学习(DRL)算法系列文章合集

1. 深度强化学习&#xff08;DRL&#xff09;算法 1 —— REINFORCE 2. 深度强化学习&#xff08;DRL&#xff09;算法 2 —— PPO 之 Clipped Surrogate Objective 篇 3. 深度强化学习&#xff08;DRL&#xff09;算法 2 —— PPO 之 GAE 篇 4. 深度强化学习&#xff08;DR…

K8s二进制安装部署

二进制搭建 Kubernetes v1.20 k8s集群master01&#xff1a;192.168.10.80 kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群master02&#xff1a;192.168.10.20 k8s集群node01&#xff1a;192.168.10.18 kubelet kube-proxy docker k8s集群no…

关于timeline的详细解析

关于timeline的详细解析 初始化画布 在echarts中有一个组件叫timeline他与echart中的其他图表结合起来 能很好的展现一段时间内各种数据的变化趋势 接下来我将用官网案例去逐步展示一下关于timeline中的各种详细配置 首先我们创建好vue的组件结构先尝试一些简单的小demo看看…

示波器的学习

示波器是什么 示波器&#xff0c;“人”如其名&#xff0c;就是显示波形的机器&#xff0c;它还被誉为“电子工程师的眼睛”。它的核心功能就是为了把被测信号的实际波形显示在屏幕上&#xff0c;以供工程师查找定位问题或评估系统性能等等。主要用于电子、电气、通信等领域的…

k8s 声明式(yaml)资源管理及yaml文件解析

目录 声明式概念 用途 语法 资源配置清单管理命令 查看资源配置清单&#xff1a; 查看资源详细信息&#xff1a; 创建资源配置清单&#xff1a; 删除资源&#xff1a; 编辑资源配置&#xff1a; 更新资源配置清单&#xff1a; 解释资源配置清单 两种方式来修改 Kube…

Spark集群搭建的三种方式详解

国科大学习生活&#xff08;期末复习资料、课程大作业解析、学习文档等&#xff09;: 文章专栏&#xff08;点击跳转&#xff09; 大数据开发学习文档&#xff08;分布式文件系统的实现&#xff0c;大数据生态圈学习文档等&#xff09;: 文章专栏&#xff08;点击跳转&#xff…

如何统计数组中重复元素的数量并获取其他相关数据?

在JavaScript中&#xff0c;可以使用以下方法来统计数组中重复元素的数量并获取其他相关数据&#xff1a; function countDuplicates(array) {// 创建一个对象来存储每个knowledgeId的信息&#xff0c;包括重复数量和其他数据var counts {};// 遍历数组&#xff0c;计算每个k…

交叉编译qt到arm平台

使用pkg-config命令查看xxx包是否存在&#xff1a; pkg-config --print-errors xxx pkg-config的搜索路径可以通过环境变量PKG_CONFIG_PATH指定。需要在运行./configure 之前指定。 ./configure -release -qt-libjpeg -qt-libpng -qt-zlib -qt-pcre -xplatform linux-aarch64-…

Java单元测试 - mock静态方法

文章目录 1. mock 静态方法2. 升级 maven 依赖3. 示例 1. mock 静态方法 mockito 在 3.4.0 版本之后&#xff0c;开始支持 mock static method。 2. 升级 maven 依赖 <dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artif…

.NET Core Web API介绍+优缺点

一.NET Core Web API介绍 似乎有一些拼写错误在您的问题中&#xff0c;我猜测您可能是想问关于“.NET Core Web API”的介绍。如果是这样的话&#xff0c;我将为您提供关于.NET Core Web API的基本介绍。 .NET Core Web API 是一种构建 HTTP 服务的框架&#xff0c;它是 ASP.N…

CG-0A 电子水尺可实现对水位数据的连续自动监测

CG-0A 电子水尺可实现对水位数据的连续自动监测产品概述 本产品是一种采用微处理器芯片为控制器&#xff0c;内置通讯电路的数字式水位传感器&#xff0c;具备高的可靠性及抗干扰性能。适用于江、河、湖、水库及蓄水池、水渠等处的水位测量使用。 本产品采用了生产工艺技术&…

VS Code代码补全失效 - 解决方案

问题 在Linux主机或Docker环境下&#xff0c;使用 VS Code 编写 CPP 代码时&#xff0c;变量没有代码补全。 解决方案 首先确保已经安装并启用了 C 扩展3件套&#xff1a;C/C、C/C Themes、CMake Tools 。 确保设置中的 C_CPP: Intelli Sense Engine 选项为 default &#x…

雾锁王国服务器怎么建?雾锁王国服务器搭建方法

雾锁王国Enshrouded服务器搭建怎么搭建&#xff1f;非常简单&#xff0c;阿里云计算巢雾锁王国程序&#xff0c;可以一键搭建雾锁王国多人联机服务器&#xff0c;腾讯云是基于雾锁王国镜像系统&#xff0c;阿里云服务网aliyunfuwuqi.com汇总雾锁王国服务器搭建&#xff0c;超简…

消息中间件篇之Kafka-高性能设计

一、高性能设计 消息分区&#xff1a;不受单台服务器的限制&#xff0c;可以不受限的处理更多的数据。 顺序读写&#xff1a;磁盘顺序读写&#xff0c;提升读写效率。 页缓存&#xff1a;把磁盘中的数据缓存到内存中&#xff0c;把对磁盘的访问变为对内存的访问。 零拷贝&a…

【k8s相关资源api操作】

k8s相关资源api操作 文章目录 k8s相关资源api操作AdmissionregistrationApiextensionApiregistrationAppsV1ApiAutoscalingV1ApiBatchV1ApiCertificatesApi 证书相关CoordinationV1Api 最重要的CoreV1Api !!!CustomObjectsApiDiscoveryV1ApiEventsV1ApiFlowcontrolApiserverApi…