- 浏览: 63536 次
- 性别:
- 来自: 深圳
最新评论
-
wqp310520:
什么时候把demo传上来呢
终于在Windowless的Richedit中实现了Gif功能 -
scotcn:
在我这,VS10sp1-KB983509.msp也需要删除才能 ...
VS2010 SP1 安装失败,提示“一般信任关系失败”的解决方案 -
mowen99:
今天找了台2008的server,进远程桌面发现正常,难道20 ...
OleCreateStaticFromData在不同环境的bug
文章列表
参考了网上众多方法后,确定用内嵌Ole方式实现。
具体用Atl ActiveX组件 + Gdi+绘制的方式实现,如果嵌入的Ole加载的是超过1帧的动态Gif,则在timer中进行帧切换;如果加载其他类型静态图片,如png/bmp/1帧的gif,直接在ondraw()绘制即可。
由于在Windowless的Richedit中用智能指针内嵌Ole,所以完全不用担心资源释放问题,Richedit在clear时,会自动卸载Ole资源内存及句柄,很方便。
有时间把Demo传来了。
IOCP的nOperation是否需要锁同步
- 博客分类:
- IOCP
IOCP中为了识别上下文的读/写状态,会在Buffer里用nOperation加以判断,那么在GCQS线程中是否需要对Buffer的nOperation做锁同步呢?
答案是:不需要。
原因如下:
在设计IOCP时,为了确保同一个套接字收发不乱序,我们会在同一时刻,保证对同一个套接字只有一个读Buffer;在同一时刻,保证对同一个套接字只有一个写Buffer。
这样,就算同一时刻对同一套接字存在读/写操作,由于是2个不同的Buffer,所以完全不需要对nOperation进行锁同步。
同一个上下文,同时最多拥有2个Buffer操作,一读一写。只有对读Buffer完成后,才能继续WSARec ...
activeX安全性及相关
- 博客分类:
- C++
参考MS:
http://technet.microsoft.com/zh-cn/query/cc468260
首先申明一下:如果activeX工程未做变动,不会遇到0x80040200错误。
那么这个错误到底是怎么来的?
很简单:_tlid与某个控件的uuid一致导致的。
估计是有朋友按照网上的方法解决activeX控件在浏览器里出现安全提示时,错误的把_tlid和主控件的uuid写成一样的了。。。
在vm7里面测试win 7 x64环境,结果装的时候没设置密码(明明记得弹了设置密码输入框的,撞邪一般直接next了),结果又reboot进dos,net user改了密码,继续reboot进win7,密码对了,提示账户已被停用,我靠。。。再reboot进dos吧,启用超管账户。
哎~真是自找麻烦,活该!
使用ole方式往richedit里插入hbitmap,用到了OleCreateStaticFromData
在物理机跟虚拟机(vmware)中均正常,但是在远程桌面(remote destop)里执行失败,返回E_OUTOFMEMORY。
测试环境(正常)
物理机:win7
虚拟机:vmware + XPSP2/Win2003
测试环境(提示E_OUTOFMEMORY)
物理机:Win2003(Remote Destop)
Failed to verify and authenticate the file -C:\Users\ADMINI~1\AppData\Local\Temp\Mic...\VS10sp1_x86.msi
Please delete the file, C:\Users\ADMINI~1\AppData\Local\Temp\Mic...\VS10sp1_x86.msi and run the package again
Action complete
Action: Performing actions on all Items
Final Result: Installation ...
IOCP构架之所以公认高效,核心就在于异步IO。在网上纷纷为之膜拜之余,很少看到对稳定性或性能优化的观点。仔细想想,任何技术都有有利的一面,自然也有有弊的一面,这才符合辩证法思想。
我把自己在编写IOCP构架时重点 ...