
ATL
文章平均质量分 86
雪影
C/C MFC STL ATL/COM Directshow Javascript/HTML/CSS winceffmpeg
展开
-
ATL_NO_VTABLE详解(转)
我们可以注意到在用ATL编写COM组件时,在类前面都有一个宏ATL_NO_VTABLE,那么这个宏到底有什么作用呢?这个宏的定义如下:#define __declspec(novtable) ATL_NO_VTABLE;下面这段是MSDN中对这个宏的描述:This form of _declspec can be applied to any class declaratio转载 2009-06-23 10:18:00 · 1716 阅读 · 0 评论 -
关于Wince进程外组件~
Windows CE提供以下几种COM-Base的应用1. Minimal COM提供最基础的COM开发接口(API),每个com对象的创建大概需要10~20K。2. COM提供了普通COM和OLE自动化实现的支持,只能实现自由线程模型、进程内的COM对象。各个COM对象创建大概需要100~200K。3. DCOM提供了COM所有功能的支持,包括远程设备COM服务。每个对象最少需要700K。 在 默认状态下,由于安全角度考虑,远程服务功能是关闭的;使得DCOM只能提供本地服务,服务进程可连接Intern原创 2011-03-04 15:57:00 · 2028 阅读 · 0 评论 -
内嵌Activex的Activex插件开发
介绍: 如今在许多流媒体视频网站(youku,tudou......)我们都会发现,观看视频之前都会有一段时间的广告,甚至在观看视频途中也会插入一些广告。实现这个效果的可以有多种技术。使用Javascript就可以实现,只需要在同一个位置分别创建两个Object,一个嵌入Flash插件,一个嵌入 WMP插件,然后切换显示这两个控件即可。 使用COM/Activex技术原创 2010-01-26 15:14:00 · 4740 阅读 · 1 评论 -
代理存根DLL的创建
进程外服务器的代理存根DLL的创建源代码下载http://download.youkuaiyun.com/source/1792728源自于一位网友的提问http://topic.youkuaiyun.com/u/20091101/20/10b3651a-7494-44fb-9861-fb2d3c5134d7.html?72825问题描述: 客户端调用进程外组件接口时,由于原创 2009-11-04 16:26:00 · 3956 阅读 · 0 评论 -
ATL源码学习5---集合与枚举接口支持
源代码下载 http://download.youkuaiyun.com/source/1690987 C++程序员学过STL的都知道,STL分为三大模块,算法、容器、迭代器。容器的作用就是存储管理维护数据,迭代器的工作就是是客户能够访问(读写)容器中的数据。尽管迭代器的实现依赖于容器存储数据的方式,但是迭代器的实现细节对于客户隐藏的,客户可以使用同样的方式来读写容器中的原创 2009-09-24 00:28:00 · 3019 阅读 · 1 评论 -
ATL源码学习4---TearOff接口支持
源代码下载 http://download.youkuaiyun.com/source/1687116 1.TearOff接口由来 一般COM组件实现接口支持是通过继承而获取,但是它并不完美。其中一个问题是“vptr-膨胀”(vptr-bloat)。对于一个类继承的每个接口,类的每个实例都有一个vptr。由于某些接口使用的频率很低,所以最好是在使用它们的时候才付出相应的代价。为原创 2009-09-22 16:05:00 · 2628 阅读 · 0 评论 -
ATL源码学习3---接口的查询支持
1. ATL的QueryInterface调用追踪a. 组件的QueryInterface函数定义template class CComObject : public Base{ STDMETHOD(QueryInterface)(REFIID iid, void ** ppvObject) throw() //QueryInterface函数 {return原创 2009-09-22 12:58:00 · 2799 阅读 · 0 评论 -
ATL源码学习---线程模型支持
1.线程锁的类型 线程锁类型有CComCriticalSection,CComAutoCriticalSection、CComSafeDeleteCriticalSection、CComAutoDeleteCriticalSection、CComFakeCriticalSection。每种锁都有它们的特定用途。// COM Sync Classesclass CCom原创 2009-09-18 10:23:00 · 4672 阅读 · 0 评论 -
ATL源码学习2---聚合的支持
1.COM组件聚合由来 聚合源自组件重用。当有两个组件A和B,他们分别实现了自己的接口IA和IB。如果有 一个客户程序创建了A对象使得自己可以调用IA的方法,但同时又想获得IB的接口,调用IB的方法。这时候有两种做法:一种是客户程序创建B对象,还有一 种方法是A组件内部创建B组件,然后客户通过某种途径调用B的接口方法。 第一种方法,使得客户必须知道有独立的B组件的存原创 2009-09-18 17:27:00 · 2712 阅读 · 0 评论 -
ATL揭秘之“对象创建”篇(转)
1.问题 当我们用VC++ ATL工程创建了一个COM工程,实现了一个自己的COM对象,又在另一个程序中CoCreateInstance这个COM对象时,不知你是否想过这样的问题:COM对象是用C++类对象实现的,但是,我们从来没有在自己的代码中创建这些C++类对象——比转载 2009-09-18 11:44:00 · 2070 阅读 · 1 评论 -
ATL Thunk机制学习
ATL模板类库使用Thunk技术来实现与窗口消息相关联的HWND和负责处理消息的对象的this指针之间的映射。 ATL中窗口类注册时,窗口过程函数缺省值都是StartWindowProc,当创建窗口产生第一条消息时将调用此函数。StartWindowProc是CWindowImplBase的一个静态成员函数,它的工作是建立CWindowImpl派生对象的HWND与对象原创 2009-09-17 12:18:00 · 4629 阅读 · 0 评论 -
Windows CE 系统进程外组件应用开发
<br />这篇文章说明了如何使用WindowS CE 6.0系统的DCOM,开发com服务进程。向客户端提供跨进程的COM组件服务,以及自定义接口代理/存根dll的建立,注册。<br />假定你需要创建一个实时的控制程序,需要一直在后台运行着,而你的客户端却是多个或多样性,客户端的开发语言不确定性。这就需要创建一个COM服务进程程序。<br /><br /><br /> <br />WindowsCE镜像中需要包括DCOM组件服务<br /> 不幸的是由于系统空间的限制,很多基于Windo原创 2011-03-10 17:05:00 · 3432 阅读 · 5 评论