Re: Проблема с инициализацией COM
От: bnk СССР http://unmanagedvisio.com/
Дата: 02.11.22 09:51
Оценка: 1 (1) +1
Здравствуйте, Melamed, Вы писали:

M>Есть ли способ инициализации COM системы для нескольких потоках и чтоб функция RegisterDragDrop не возвращала ошибку?


COM необходимо инициализировать в каждом потоке, который его использует (каждый поток использует его независимо от других).
Если ты работаешь с пользовательским интерфейсом (UI), то общепринятая стратегия — работа с UI (только) из главного потока приложения.
Не очень понятно зачем тебе несколько потоков для drag-n-drop (перетаскивания)

Если ты используешь DirectShow в каком-то другом потоке, ты можешь его инициализировать его там как тебе надо,
это не повлияет на основной поток. То есть, COM инициализируется (и работает) не "для приложения" а "для потока".
Отредактировано 02.11.2022 9:51 bnk . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.