Warum für Icons, die mit der Funktion LoadIcon abgerufen wurden, kein DestroyIcon erforderlich ist

Wir erklären die Bedingungen, unter denen DestroyIcon für Icon-Ressourcen aufgerufen werden sollte oder nicht, die mit LoadIcon oder LoadImage in der Windows API abgerufen wurden. Wir haben die korrekten Spezifikationen zusammengestellt, um Ressourcenlecks zu vermeiden.

Über die Notwendigkeit, DestroyIcon aufzurufen

In folgenden Fällen ist es notwendig, DestroyIcon aufzurufen:

  • CreateIconFromResourceEx (wenn ohne das Flag LR_SHARED aufgerufen)
  • CreateIconIndirect
  • CopyIcon

Wenn durch die obigen Funktionen erstellt.

  • LoadIcon
  • LoadImage (wenn das Flag LR_SHARED verwendet wird)
  • CopyImage (wenn das Flag LR_COPYRETURNORG verwendet wird und der Parameter hImage ein freigegebenes Symbol ist)
  • CreateIconFromResource
  • CreateIconFromResourceEx (wenn das Flag LR_SHARED verwendet wird)

Symbole, die in den obigen Fällen erstellt und geladen wurden, dürfen DestroyIcon nicht aufrufen.

Referenz

comments powered by Disqus