Как использовать IGlobalInterfaceTable для передачи указателя интерфейса? - PullRequest
1 голос
/ 24 февраля 2009
  • Без :
    • MFC
    • АТЛ

Вопрос:

  • Какие шаги применяются для использования IGlobalInterfaceTable , когда передает определенный указатель интерфейса на несколько потоков с использованием CreateThread

1 Ответ

2 голосов
/ 24 февраля 2009

Я думаю эта страница довольно неплохо ее освещает. Вызовите RegisterInterfaceInGlobal для помещения вашего COM-интерфейса в GIT, передайте его cookie другим потокам, которые затем могут вызвать GetInterfaceFromGlobal, используя этот cookie, чтобы получить оригинальный интерфейс.

Обратите внимание, что каждый поток должен вызывать CoCreateInstance (CLSID_StdGlobalInterfaceTable ... но не волнуйтесь, все они получают указатель интерфейса на один и тот же экземпляр GIT.

...