自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

marryshi的专栏

记录历程......

  • 博客(21)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

转载 数据预读对ReadFile顺序读取的影响

最近在做performance的测试工具,遇到一个问题就是 "ReadFile"之后得到的timediff时间总是0.咨询了一下大牛,大牛说,那是 是受数据预读的影响,因为我是16k顺序读取....所以,非常快。网上查询了一个数据预读...orz.....好吧,太专业了,太底层了,我看不懂啊....解决方案是,随机读取....下面是借鉴的:随着处理器制造工艺

2014-11-14 13:49:16 2019

原创 指针的使用和练习 I - 如何通过指针访问的使用对象里的private信息

指针 #include "stdafx.h"#include #include class testclass{public: testclass(); ~testclass(); virtual int add2num(int a, int b);private: virtual int WINAPI pri_add2num(int a,

2014-11-12 14:29:40 370

转载 IDispatch接口 - Part III - Dual和Custom

当用ATL向导来创建一个接口的时候,向导会让我们选择Dual或者Custom.那么它们到底有什么分别呢?Dual鼠标移上去,其实是有个说明的。下面的截图没有显示后面的一些文字,实际意思是说这个接口同时支持IDispatch方式和vtable方式,这大概也就是双接口(Dual)名字的来源。vtable调用方式,指的是直接通过接口指针的虚函数表。比如[html]

2014-11-07 12:19:42 512

转载 IDispatch接口 - Part IV - 跨语言调用

当一个COM接口支持IDispatch的时候(Dual接口),它就可以被其他语言调用。这里我用perl试了一下。perl测试代码[html] view plaincopyprint?use warnings;  use strict;  use Win32::OLE;    use constant ADS_UF_ACCOUNTDISABLE => 2; 

2014-11-07 12:19:38 428

转载 IDispatch接口 - Part II -CComDispatchDriver智能指针

前面一篇文章讲述了怎么样通过GetIDsOfNames和Invoke来调用一个支持Idispach的COM组件。看起来好像很麻烦,实际上,COM已经提供了一个专门的智能指针来解决这个问题。CComDispatchDriver看一下它的定义,实际上它就是一个特殊的CComQIPtr。[cpp] view plaincopyprint?typedef C

2014-11-07 12:18:05 1144

转载 IDispatch接口 - Part I - GetIDsOfNames和Invoke

IDispatch接口是COM自动化的核心。其实,IDispatch这个接口本身也很简单,只有4个方法:[cpp] view plaincopyprint?IDispatch : public IUnknown {  public:      virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(       

2014-11-07 12:17:14 1235

转载 COM线程模型 - Part VI - COM服务端(STA组件)创建线程

From: http://blog.csdn.net/zj510/article/details/39290061 当我们在COM组件内部创建线程的时候,又是怎么样的一种情况呢?这个地方跟组件的具体类型有关了,先来看看STA组件的情况。STA组件内部创建线程先看一段代码,CMyCarEx是一个STA组件,我们在Run()函数里面起了1000个线程。每个线程就会把m_nMil

2014-11-07 12:15:13 653

转载 COM连接点 - Part V - CComDynamicUnkArray::Add问题

From : http://blog.csdn.net/zj510/article/details/39178003 无意中发现一个有趣的问题,连接点中用于保存接收器对象的容器CComDynamicUnkArray有一些小问题。calloc和_recalloc的参数传递问题首先看一下连接点的声明:[cpp] view plaincopyprint?

2014-11-07 12:14:04 639

转载 COM连接点 - Part IV - IDL里面一定需要增加新的事件吗?

From: http://blog.csdn.net/zj510/article/details/39080699

2014-11-07 12:13:50 565

转载 COM连接点 - Part III - 一个COM接口实现多个连接点

From: http://blog.csdn.net/zj510/article/details/39080353

2014-11-07 12:11:25 1314

转载 COM连接点 - Part II - 最简单的例子 (1)

From: http://blog.csdn.net/zj510/article/details/39056097 连接点,connection point,在COM里面也是挺重要的。简单讲,COM里面的连接点就好像是C语言的回调函数,只不过它是基于面向对象实现的。连接点的作用也就是COM对象将一些事件通知客户(调用者)。先来做一个简单的连接点例子吧,之后再慢慢探讨。用

2014-11-07 12:09:50 2293 1

转载 COM连接点 - Part I - 基本原理

From: http://blog.csdn.net/zj510/article/details/39079221 这次我们来看一下连接点的基本工作原理。画了一个简单的图:从上面的图,大概也可以看到基本结构了。如果一个COM对象要支持连接点的话,那么这个对象类一定要从IConnectionPointImpl继承下来。通常,会有一个proxy类,上图中的CProxy_IMyCar

2014-11-07 12:08:42 2094

转载 COM线程模型 - MTA接口 - Part IV - (运行线程)

From :  一个STA对象只能属于一个STA套间,那么一个STA对象一定是在一个线程里面运行的。所以STA对象不需要考虑并发,因为它永远是串行运行的。那么一个MTA对象在哪个线程里面运行的?MTA套间调用MTA对象看下面这段代码:[cpp] view plaincopyprint?// TestCom.cpp : Defines th

2014-11-07 11:29:29 544

转载 COM线程模型 - MTA接口 - Part III -(STA套间调用MTA对象)

From : http://blog.csdn.net/zj510/article/details/39008107 那么如果在STA套间里面创建MTA对象,又如何?看这段代码:[cpp] view plaincopyprint?// TestCom.cpp : Defines the entry point for the console appl

2014-11-07 11:28:38 808

转载 COM线程模型 - MTA接口 - Part II - (传递MTA COM对象给STA套间线程)

接上篇,能否把一个MTA套间里面创建的COM对象传递个STA套间呢?看MSDN上的说明:A client or server that supports both single-threaded and multithreaded apartments will have one multithreaded apartment, containing all threads initializ

2014-11-07 11:26:21 722

转载 COM线程模型 - MTA接口 - Part I

From: http://blog.csdn.net/zj510/article/details/38857239 除了STA之外,COM组件的另外一种非常重要的模型就是MTA.有关MTA,先阅读MSDN, http://msdn.microsoft.com/en-us/library/windows/desktop/ms693421(v=vs.85).aspx需要仔细阅读。罗

2014-11-07 11:24:14 745

转载 COM线程模型 - STA接口 - Part III (MTA客户,跨线程传递COM对象)

From: http://blog.csdn.net/zj510/article/details/38852619

2014-11-07 11:19:32 530

转载 COM线程模型 - STA接口 - Part II -(跨线程传递对象,消息循环)

From : http://blog.csdn.net/zj510/article/details/38829069

2014-11-07 11:17:12 651

转载 COM线程模型 - STA - Part I

From : http://blog.csdn.net/zj510/article/details/38824353 COM里面的线程模型应该是COM里面比较困难的一部分了,我自己也是花了很多时间,而且也还不是很懂。最近又重新看了一下线程模型,为了加深自己的学习,特地写下这篇文章。MSDN上有很多信息,比如http://msdn.microsoft.com/en-us/libr

2014-11-07 11:16:03 835

转载 CreateFileMapping用法

CreateFileMapping用法        CreateFileMapping的MSDN翻译和使用心得 测试创建和打开文件映射的时候老是得到"句柄无效"的错误, 仔细看了MSDN以后才发觉是函数认识不透, 这里把相关的解释翻译出来HANDLE CreateFileMapping(  HANDLE hFile,                       //物理文

2014-11-07 11:12:20 1051

转载 FileMapping

FileMapping        与虚拟内存一样,内存映射文件可以用来保留一个地址空间的区域,并将物理存储器提交给该区域。它们之间的差别是,物理存储器来自一个已经位于磁盘上的文件,而不是系统的页文件。一旦该文件被映射,就可以访问它,就像整个文件已经加载内存一样。内存映射文件可以用于3个不同的目的:• 系统使用内存映射文件,以便加载和执行. e x e和D L

2014-11-07 10:07:36 7382

charles 3.9.3

charles 3.9.3 . 仅供个人学习使用,如商业目的使用,请购买charles

2015-11-15

JAVA API 整理

整理了一下java 的api 主要是对jse,做一个分类,这样便于理解

2015-01-07

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除