Нужно ли инициализировать COM перед использованием IStream с GDI+ Bitmap::FromStream()?C++

Программы на C++. Форум разработчиков
Anonymous
Нужно ли инициализировать COM перед использованием IStream с GDI+ Bitmap::FromStream()?

Сообщение Anonymous »

Я использую функцию GDI+ Bitmap::FromStream() для загрузки ресурса PNG, следуя примеру, приведенному в этой статье.
The Bitmap::FromStream( ) функция требует IStream в качестве первого аргумента. Поскольку IStream является COM-интерфейсом и мои знания в области COM-программирования ограничены, я хочу уточнить:
  • Нужно ли мне явно инициализировать COM ( например, используя CoInitialize) перед созданием или использованием объекта, реализующего IStream для этой функции?
  • Пример кода, кажется, работает нормально без явной инициализации COM, но Я не уверен, что это правильный и надежный подход. Может ли это привести к проблемам при определенных условиях?
Будем очень признательны за любую информацию о том, необходима ли инициализация COM в этом контексте.
Изменить: Этот вопрос не является дубликатом. В другом вопросе приложение сразу выходит из строя без вызова CoInitialize, и основное внимание уделяется пониманию того, почему это необходимо. Однако в моем случае приложение работает без явной инициализации COM, и меня беспокоит, безопасно ли это или может ли это привести к проблемам при определенных условиях. Мой вопрос требует разъяснений о том, необходима ли явная инициализация COM при использовании интерфейсов COM и о возможных последствиях ее пропуска.

Подробнее здесь: https://stackoverflow.com/questions/793 ... fromstream

Вернуться в «C++»