2010-06-20 44 views

回答

3

只要將它傳遞給CoTaskMemFree,它將包裝相同的默認OLE分配器CoGetMalloc正在公開。

CoTaskMemAlloc/Free是默認OLE分配器的接口IMalloc的便捷快捷方式,因此您可以完全跳過繁瑣的接口。

+0

很酷,但是有沒有任何參考確認CoTaskMemFree()和IMalloc :: Free()是一樣的? – sharptooth 2010-06-22 06:01:42

+0

Raymond Chen對內部進行了解釋和更多解釋:http://blogs.msdn.com/b/oldnewthing/archive/2004/07/05/173226.aspx – wqw 2010-06-22 08:19:46

+0

很酷,感謝您的聯繫。 – sharptooth 2010-06-23 08:36:36

1

您需要首先檢索IMalloc*指針 - 爲此使用CoGetMalloc()。一旦你有IMalloc*指針調用IMalloc::Free(),傳遞你想要空閒塊的地址。一旦完成指針上IMalloc*指針的調用IMalloc::Release(),或者將其保存在某處以便在不再需要時重用和釋放。

相關問題