Winapi 图标句柄从ExtractIconEx返回的生存时间

Winapi 图标句柄从ExtractIconEx返回的生存时间,winapi,icons,Winapi,Icons,我正在使用提取图标句柄(稍后使用): 我将句柄存储在对象中,然后将图标句柄与DrawIcon一起使用。当对象被释放时,我通过销毁图标销毁两个句柄 我的问题:是否保证这两个句柄都可用并归我的应用程序所有(在其整个生命周期内),还是我应该为此目的使用?来自以下文档: 您必须通过调用函数来销毁ExtractIconEx提取的所有图标 这意味着,当您调用DestroyIcon时,生命周期结束。换句话说,您拥有以下文档中ExtractIconEx返回的图标: 您必须通过调用函数来销毁ExtractIcon

我正在使用提取图标句柄(稍后使用):

我将句柄存储在对象中,然后将图标句柄与
DrawIcon
一起使用。当对象被释放时,我通过
销毁图标
销毁两个句柄

我的问题:是否保证这两个句柄都可用并归我的应用程序所有(在其整个生命周期内),还是我应该为此目的使用?

来自以下文档:

您必须通过调用函数来销毁ExtractIconEx提取的所有图标

这意味着,当您调用
DestroyIcon
时,生命周期结束。换句话说,您拥有以下文档中
ExtractIconEx

返回的图标:

您必须通过调用函数来销毁ExtractIconEx提取的所有图标


这意味着,当您调用
DestroyIcon
时,生命周期结束。换句话说,您拥有由
ExtractIconEx

返回的图标。是的,这就是为什么您必须调用destroicon()。告诉操作系统“我不再需要担保”。是的,这就是为什么必须调用DestroyIcon()。告诉操作系统“我不再需要担保了”。“这意味着…”这一暗示部分让我感到困扰。@zig:Windows API提供了一个普通的C接口,所以清除是显式的。对象在被释放之前是有效的。这里真的没有太多暗示。这是在一种不提供任何自动垃圾收集方法的语言中进行资源管理的方式。“这意味着……”这一暗示部分让我感到困扰。@zig:Windows API提供了一个简单的C接口,因此清理是显式的。对象在被释放之前是有效的。这里真的没有太多暗示。这就是资源管理是如何在一种不提供任何自动垃圾收集方法的语言中完成的。
ExtractIconEx("c:\\progra~1\\winzip\\winzip32.exe", 0, &hIconLarge, &hIconSmall, 1);