ADO编程中ATL所遇到的定义问题
ADO编程中ATL所遇到的定义问题
当欲向接口中定义方法如下:
[id(1), helpstring("method SearchCust")] HRESULT SearchCust([in] BSTR bstrcustid,[out,retval] _Recordset **ptr);
由于用到_Recordset类型,所以必须
importlib("C:/Program Files/Common Files/System/ADO/MSADO15.DLL");
于是整个idl文件应该改写为以下方式:
// FindCust.idl : IDL source for FindCust.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (FindCust.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
[
uuid(B32A7D72-12D4-11D5-AC09-00A0247A8577),
version(1.0),
helpstring("FindCust 1.0 Type Library")
]
library FINDCUSTLib //Library给手动提前了
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
//MODIFY HERE
importlib("C:/Program Files/Common Files/System/ADO/MSADO15.DLL");
[
object,
uuid(B32A7D7F-12D4-11D5-AC09-00A0247A8577),
dual,
helpstring("ISearch Interface"),
pointer_default(unique)
]
interface ISearch : IDispatch
{
[id(1), helpstring("method SearchCust")] HRESULT SearchCust([in] BSTR bstrcustid,[out,retval] _Recordset **ptr);
};
[
uuid(B32A7D81-12D4-11D5-AC09-00A0247A8577),
helpstring("_ISearchEvents Interface")
]
dispinterface _ISearchEvents
{
properties:
methods:
};
[
uuid(B32A7D80-12D4-11D5-AC09-00A0247A8577),
helpstring("Search Class")
]
coclass Search
{
[default] interface ISearch;
[default, source] dispinterface _ISearchEvents;
};
};
ADO编程中ATL所遇到的定义问题相关推荐
- 在Visual C++中用ADO进行数据库编程(中)
在Visual C++中用ADO进行数据库编程(中) 4.执行SQL命令并取得结果记录集 为了取得结果记录集,我们定义一个指向Recordset对象的指针:_RecordsetPtr ...
- Attribute在.net编程中的应用
作者:niwalker 出处:csdn SqlCommandGenerator类的设计 SqlCommandGEnerator类的设计思路就是通过反射得到方法的参数,使用被SqlComma ...
- 深入分析ADO.NET中的DataSet对象
ADO.NET是.net Framework SDK中用以操作数据库的类库的总称.而DataSet类则是ADO.NET中最核心的成员之一,也是各种开发基于.Net平台程序语言开发数据库应用程序最常接触 ...
- 在DLL编程中调用模版类时出现的类似class“XXX”需要有 dll 接口由 class“XXX”的客户端使用的warning的解决方案...
在DLL编程中, 如果调用模版类, 则可能出现类似以下的错误(以CString的使用为例): warning C4251: "CLogFile::m_strFileName": ...
- java queryinterface_COM编程中的接口查询QueryInterface的实现原理
我们都知道,COM组件编程中,QueryInterface实现的接口之间的查询,通过这个接口,我们可以获取该组件中其他的接口.但 是,QueryInterface实现的原理,并不是大家都很清楚,也没有 ...
- vue.js crud_ASP.NET CORE —从零到英雄学习ADO.NET中的CRUD操作
vue.js crud ADO.NET ASP.NET Core中的CRUD操作 在此ASP.NET Core教程中,您将从一开始就学习在ADO.NET中进行CRUD操作. 本教程将帮助您学习ADO. ...
- c语言面向对象编程中的类_C ++中的面向对象编程
c语言面向对象编程中的类 Object oriented programming, OOP for short, aims to implement real world entities like ...
- 网络编程中的关键问题总结
网络编程中的关键问题总结 总结下网络编程中关键的细节问题,包含连接建立.连接断开.消息到达.发送消息等等: 连接建立 包括服务端接受 (accept) 新连接和客户端成功发起 (connect) 连接 ...
- 编程中new[]和delete[]应该如何使用?
在平时资料中,我们常看到:new和delete,new[]和delete[]一定要配对使用!有时候不配对使用也不会出现问题.也许你也是只知其然,不知其所以然,然而我也有点懵了. 在平时资料中,我们常看 ...
最新文章
- JZOJ__Day 10:【普及模拟】【USACO】横幅
- Java生鲜电商平台-生鲜供应链(采购管理)
- memcached的java客户端_Memcached Java客户端
- Android中监听ScrollView滑动停止和滑动到底部
- 第五团队谷歌浏览器软件与用户体验调查与分析
- 拿到窗口ID,为什么画的内容没有显示出来
- [C++] CreateThread() 与 _beginthread() 的区别
- codeBook背景建模
- ruoyi 若依 VUE 宝塔 Nignx部署 伪静态配置
- 四川省科学技术奖申报条件和18市补助
- 有料科普 | 三峡大坝怎么过船,无用但能吹牛皮的知识又增加了
- JS图片显示与隐藏案例
- CCF论文列表(2022拟定)大更新!MICCAI空降B类!PRCV空降C类!ICLR继续陪跑...
- 父类的对象指向子类对象,父类可以调用子类的方法吗?
- 达梦数据库odbc的安装
- 【服务器数据恢复】LINUX误删除、误格式化的数据恢复
- 词云和穷爸爸、富爸爸
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十五:SDHC模块
- 面试官常问的 web前端 问题(二)
- 华三路由交换配置命令_H3C的路由器配置命令详解
热门文章
- 教育行业视频号矩阵建设与运营策略分析报告
- 这些是实际面试中遇到的面试题
- html优先级和层叠性
- java中1和1.0_在Java中如何以0.1f增量在0.1f和1.0f之间进行迭代?
- pyqt label上的图片旋转_python中tkinter入门之config、Scale、Canvas和导入图片
- lisp 发凹圆角_css能实现这样的内凹圆角吗?如何实现?具体代码是!!
- @value 静态变量_springboot项目使用静态变量通过@Value注解获取配置文件内容
- 攀爬者(洛谷P5143题题解,Java语言描述)
- 【Java】翻转字符串中的每个单词
- C++ 预处理与宏相关编程(#,##等等)