Featured image of post Por que Ícones Carregados pela Função LoadIcon Não Precisam do DestroyIcon

Por que Ícones Carregados pela Função LoadIcon Não Precisam do DestroyIcon

Explicamos as condições nas quais você deve ou não chamar o DestroyIcon para recursos de ícones adquiridos usando LoadIcon ou LoadImage na API do Windows. Compilamos a especificação correta para prevenir vazamentos de recursos.

Sobre a necessidade de chamar DestroyIcon

É necessário chamar DestroyIcon nos seguintes casos:

  • CreateIconFromResourceEx (se chamado sem a flag LR_SHARED)
  • CreateIconIndirect
  • CopyIcon

Quando criado pelas funções acima.

  • LoadIcon
  • LoadImage (se usar a flag LR_SHARED)
  • CopyImage (se usar a flag LR_COPYRETURNORG e o parâmetro hImage for um ícone compartilhado)
  • CreateIconFromResource
  • CreateIconFromResourceEx (se usar a flag LR_SHARED)

Ícones criados e carregados nos casos acima não devem chamar DestroyIcon.

Referência

comments powered by Disqus