窗口 – CoTaskMemAlloc的使用?
什么时候适合使用CoTaskMemAlloc?有人可以举个例子吗?
天哪,我不得不想一会儿这个 – 我已经用ATL做了大量的小规模COM编程,很少有使用它.
有一种情况,请注意:Windows Shell extensions.如果您正在处理一组文件系统对象,则可能需要处理PIDLs(指向ID列表的指针).这些是奇怪的小文件系统对象抽象,它们需要使用COM感知分配器(如CoTaskMemAlloc)显式分配/释放.还有一个替代方案,从SHGetMalloc(不推荐使用)或CoGetMalloc获取的 使用CoTaskMemAlloc或IMalloc而不是malloc()的观点是,内存分配/释放需要是“COM感知”,以便在运行时执行其分配和释放,即使分配和释放通过完全不相关的代码完成(例如Windows分配内存,将其传输到C代码,稍后释放,或者您的C代码分配,将其传输给其他人稍后释放的VB代码). malloc()和new都不能与系统的运行时堆互操作,因此您无法使用它们来分配内存以传输到其他COM对象,或从其他COM对象接收内存并释放. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何使用set-window-option在vmux上进行vim风格的
- 如何在Windows上安装tesserocr?
- windows-vista – 以编程方式禁用设备管理器中的
- microsoft-office – 带有零售版产品密钥的Micro
- 如何使用WinHTTP库进行kerberos(windows集成)身份
- windows – 如何在cygwin下的Perl脚本中处理箭头
- 如何检测Microsoft Bing Maps中的缩放更改
- windows-server-2008-r2 – 3个域控制器的一个SS
- windows-7 – 最佳实践 – Windows 7 Remote Roa
- windows-server-2008 – Windows平台过滤 – 阻止