
COM编程
GamebabyRockSun_QQ
曾经拥有的,不要忘记,
已经得到的,更要珍惜,
属于自己的,不要放弃,
已经失去的,留着回忆,
想要得到的,必须努力,
但最重要的,是好好爱惜自己!
展开
-
代码偶得——比较两个COM对象是否相同
晚上在挑灯夜战看代码时,突然发现一个很有意思的函数,这个函数用来比较两个COM对象是否是相同的对象的。乍看以为就是比较两个接口是否是相同的指针值,仔细琢磨才发现,仅仅比较接口是会被蒙骗的,因为还有COM包容和聚合的可能在里面,所以即使两个COM接口指针真的相同也不能断定是同一个对象的。下面先贴上代码,记录在这里供大家参考: template bool AreComObjectsEqual(T1原创 2017-10-10 14:21:32 · 558 阅读 · 0 评论 -
VS2017编译WRL的Callback模版函数兼容性问题及解决方法
近来一直在研究DXR的示例代码,并在其中看到例子中大量的使用了WRL的新模版类代替ATL的老三样的模版类,使用最多的就是COM智能指针Microsoft::WRL::ComPtr类。在聚合使用D3D的接口时,更是像下面这样大量应用该模版包装了D3D的接口:......Microsoft::WRL::ComPtr<IDXGIFactory4> m_dx...原创 2018-09-04 08:48:35 · 2765 阅读 · 6 评论 -
VC++ 实战OLEDB编程(二)
上回书说到(哎哟!谁扔的臭鸡蛋?不好意思忘了我是搞IT的不是说书的了。)在前面我们已经介绍了如何创建一个连接对象(记住叫IDBInitialize,而不是别的什么东西),接下来我们就需要用这个连接对象来创建一个叫做事务的对象了,搞数据库的都知道什么叫事务我就不多说了,这个地方只是强调下一个连接对象可以创建多个事务对象,这一点大家要记清楚,在ATL的OLEDB封装中将连接对象和事务对象被一对一的封装...原创 2017-10-10 14:17:55 · 584 阅读 · 0 评论 -
DirectX12(D3D12)基础教程(二)——理解根签名、初识显存管理和加载纹理、理解资源屏障
目录 1、前言及本章内容提要2、初步理解和使用根签名3、使用WIC库加载图片4、D3D12内存管理导论——上传堆和默认堆4.1、D3D12中创建资源的三种方式4.1.1、提交方式(CreateCommittedResource)4.1.2、定位方式(CreatePlacedResource)4.1.3、保留方式(CreateReservedResource)...原创 2018-10-16 01:10:25 · 24451 阅读 · 66 评论