Die Bitmap::FromStream( )-Funktion erfordert einen IStream als erstes Argument. Da IStream eine COM-Schnittstelle ist und meine Kenntnisse der COM-Programmierung begrenzt sind, möchte ich Folgendes klarstellen:
- Muss ich COM explizit initialisieren ( B. mit CoInitialize), bevor Sie ein Objekt erstellen oder verwenden, das IStream für diese Funktion implementiert?
- Der Beispielcode scheint gut zu funktionieren, ohne COM explizit zu initialisieren, aber Ich bin mir nicht sicher, ob dies der richtige oder zuverlässige Ansatz ist. Könnte dies unter bestimmten Bedingungen zu Problemen führen?
Bearbeiten: Diese Frage ist kein Duplikat. Bei der anderen Frage schlägt die Anwendung völlig fehl, ohne CoInitialize aufzurufen, und der Schwerpunkt liegt auf dem Verständnis, warum dies erforderlich ist. In meinem Fall funktioniert die Anwendung jedoch ohne explizite Initialisierung von COM, und ich mache mir Sorgen, ob dies sicher ist oder ob es unter bestimmten Bedingungen zu Problemen führen könnte. Meine Frage soll klären, ob bei der Verwendung von COM-Schnittstellen eine explizite COM-Initialisierung erforderlich ist und welche möglichen Auswirkungen das Überspringen dieser Initialisierung hat.