使用[ComImportAttribute()]时是否需要DeleteObject来处理HBITMAP *?

时间:2014-02-06 20:20:58

标签: c# .net winapi

来自MSDN about IShellItemImageFactory::GetImage

  

调用者有责任释放此检索到的资源   当不再需要时,通过DeleteObject

我的问题是:

我在IntPtr来电中使用IShellItemImageFactory.GetImage,其中IShellItemImageFactory饰有 [ComImportAttribute()] 。我仍然需要拨打DeleteObject,或者当CLR(?)尝试将其作为Factory的一部分删除时,会导致问题吗?

1 个答案:

答案 0 :(得分:3)

CLR将从不自动释放IntPtr。它不可能知道需要调用哪个特定函数来释放指针。完全由你来决定使用DeleteObject()。