[英]How do I have DeleteObject() invoked on hBitmap other than by using P/Invoke?
[英]Do I need to DeleteObject to dispose of an HBITMAP* when using [ComImportAttribute()]?
从MSDN关于IShellItemImageFactory :: GetImage :
调用者有责任在不再需要时通过DeleteObject释放此检索到的资源。
我的问题是:
我在IShellItemImageFactory.GetImage
调用中使用IntPtr
,其中IShellItemImageFactory
使用[ComImportAttribute()]
修饰。 我是否仍然需要调用DeleteObject
,否则当CLR(?)尝试将其作为Factory
一部分删除时会导致麻烦?
CLR 永远不会自动释放IntPtr。 它不可能知道需要调用哪个特定函数来释放指针。 完全由你来决定使用DeleteObject()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.