ATL
Normal COM.cpp
#include "resource.h" // 主符号
#include "ATLCOM_i.h"
#include "_IDragonComEvents_CP.h"
#if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA)
#error "Windows CE 平台(如不提供完全 DCOM 支持的 Windows Mobile 平台)上无法正确支持单线程 COM 对象。定义 _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA 可强制 ATL 支持创建单线程 COM 对象实现并允许使用其单线程 COM 对象实现。rgs 文件中的线程模型已被设置为“Free”,原因是该模型是非 DCOM Windows CE 平台支持的唯一线程模型。"
#endif using namespace ATL;
// CDragonCom
class ATL_NO_VTABLE CDragonCom :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CDragonCom, &CLSID_DragonCom>,
public ISupportErrorInfo,
public IConnectionPointContainerImpl<CDragonCom>,
public CProxy_IDragonComEvents<CDragonCom>,
public IObjectWithSiteImpl<CDragonCom>,
public IDispatchImpl<IDragonCom, &IID_IDragonCom, &LIBID_ATLCOMLib, /*wMajor =*/ , /*wMinor =*/ >
{
public:
CDragonCom()
{
} DECLARE_REGISTRY_RESOURCEID(IDR_DRAGONCOM)
BEGIN_COM_MAP(CDragonCom)
COM_INTERFACE_ENTRY(IDragonCom)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(ISupportErrorInfo)
COM_INTERFACE_ENTRY(IConnectionPointContainer)
COM_INTERFACE_ENTRY(IObjectWithSite)
END_COM_MAP() BEGIN_CONNECTION_POINT_MAP(CDragonCom)
CONNECTION_POINT_ENTRY(__uuidof(_IDragonComEvents))
END_CONNECTION_POINT_MAP()
// ISupportsErrorInfo
STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
DECLARE_PROTECT_FINAL_CONSTRUCT()
HRESULT FinalConstruct()
{
return S_OK;
}
void FinalRelease()
{
} public:
//Add myself code here
protected:
int iAcountNo;
public:
void SetAccountNo(void);
};
OBJECT_ENTRY_AUTO(__uuidof(DragonCom), CDragonCom)
- IDispatch
- IPersist
- ICollection & IEnum
- IConnection
- SmartPtr
- Module
- COMRoot
- CComCoClass
- ATL-Layer
ATL的更多相关文章
- ATL封装IE内核启示:使用Win32/ATL建立窗口
开发大型GUI界面程序MFC当仁不让,但如果是开发图形应用程序,并不需要大规模界面控件,没有必要链接庞大的MFC库,直接使用platform sdk会很麻烦,这时ATL中的关于Windows的封装就是 ...
- 使用VC++ ATL实现iStylePDF的COM插件
本文介绍了一种使用VC++ ATL(Active Template Library),利用ISPExtensibility接口,为 iStylePDF 加入功能简单的COM插件(addin),加入工具 ...
- ATL中窗口句柄与窗口过程的关联方法
ATL中采用了一种动态生成机器指令的方式进行窗口句柄与窗口对象进行关联,以是详细分析: CWindowImpl会在第一次调用Create时注册窗口类,该窗口类是的信息是在CWindowImpl的子类中 ...
- ATL开发 ActiveX控件的 inf文件模板
ATL开发 ActiveX控件的 inf文件模板
- ATL 获取flash信息
// This goes past the ATL includes #import "C:/WINDOWS/system32/Macromed/Flash/Flash9e.ocx" ...
- Version history of VC++, MFC and ATL
I have tried to assemble together information about the Visual C++ releases, the compiler and the fr ...
- ATL是如何实现线程安全的引用计数和多线程控制的
ATL是如何实现线程安全的引用计数和多线程控制的 正如标题所示,这是我经常被问到的一个问题,而每次我都从头开始给人说一次,其实说来过程理解起来的确有点复杂. 我们的每一个ATL Server Obje ...
- 认识ATL窗口
这是一个相当于“Hello world!”的任务,作为认识ATL,考查了其运作流程与机制. 环境:VS2008 创建:新建-项目-Win32项目-添加公用头文件用于(选择ATL). PS:注意新建项目 ...
- 在VS中MFC、ATL与WIN32有什么联系或区别?
有时候遇到一些初学者问我这个问题:在VS中使用MFC和ATL与使用WIN32有什么联系或区别?通俗来说,win32是通过调用windows api去实现需要的功能.而MFC和ATL是封装好的类库,包含 ...
- ATL字符串转换宏
有比MultiByteToWideChar和WideCharToMultiByte更简单的字符串转换宏,你相信吗?头文件 d:\program files\microsoft visual studi ...
随机推荐
- 最长回文串:LeetCode:Longest Palindromic Substring
class Solution { public: string longestPalindrome(string s) { int length=s.length(); ; ; ][]={false} ...
- github的使用 sourceTree
http://www.cnblogs.com/Jenaral/p/5655958.html
- Nginx01---简单使用
基于腾讯云--ubuntu系统 1.安装nginx sudo apt-get install nginx 2.启动,停止nginx nginx -c /usr/local/nginx/conf/ngi ...
- Codeforces-C-Nice Garland(枚举+暴力)
You have a garland consisting of nn lamps. Each lamp is colored red, green or blue. The color of the ...
- HDU5950 Recursive sequence 非线性递推式 矩阵快速幂
题目传送门 题目描述:给出一个数列的第一项和第二项,计算第n项. 递推式是 f(n)=f(n-1)+2*f(n-2)+n^4. 由于n很大,所以肯定是矩阵快速幂的题目,但是矩阵快速幂只能解决线性的问题 ...
- Lvs Tun隧道模式配置
######## TUN是IP Tunneling ,IP隧道的简称,它将调度器收到的IP数据包封装在一个新的IP数据包中,转交给应用服务器,然后实际服务器的返回数据会直接返回给用户. 工作原理: 用 ...
- thinkphp5 composer安装验证码
1,安装composer,选择安装到的php的版本.在使用phpstudy的时候 用的是php5.5 .注意phpstudy的安装路径. 2.检查composer是否安装成功.cmd 然后输入comp ...
- my30_表碎片整理
确认表的类型与存储引擎,是否全部是innodb select TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE,ENGINE,VERSION,ROW_FORMAT,TABLE_RO ...
- 结合element-ui表格自动生成sku规格列表
最近在写一个根据输入的规格,属性值动态生成sku表格,实现的效果大致如图,这是在vue项目里,结合element-UI表格写的,写好了就整理了一下,把代码贴上来,方便以后使用,不过代码里还是有一些重复 ...
- 信息领域热词分析系统--java爬取CSDN中文章标题即链接
package zuoye1; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLExce ...