我正在使用ICommandText :: GetCommandText方法。 根据MSDN文档(http://msdn.microsoft.com/en-us/library/ms709825(v=VS.85).aspx),我需要使用IMalloc :: Free来释放为LPOLESTR * ppwszCommand输出参数分配的内存。
如何使用此界面执行此操作?
答案 0 :(得分:3)
将它传递给CoTaskMemFree
,它正在包装相同的默认OLE分配器CoGetMalloc
正在公开。
CoTaskMemAlloc/Free
是默认OLE分配器的IMalloc
接口的便捷快捷方式,因此您可以完全跳过繁琐的界面。
答案 1 :(得分:1)
您需要首先检索IMalloc*
指针 - 使用CoGetMalloc()
。一旦你有一个IMalloc*
指针调用IMalloc::Free()
,传递你想要释放的块的地址。完成指针上的IMalloc*
指针调用IMalloc::Release()
后,将其保存到某个地方以便在不再需要时重复使用并释放。