繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM