Что произойдет, если я использую маршалированный указатель интерфейса COM в потоке создания объекта? - PullRequest
3 голосов
/ 19 июня 2011

Я изучаю использование таблицы Global Interface Table. Я понимаю, что когда вы вызываете GetInterfaceFromGlobal () из другого потока STA, вы получаете прокси для исходного указателя интерфейса. Прокси-сервер отвечает за передачу управления потоку создания объекта.

Что, если у меня есть только один поток и я вызываю GetInterfaceFromGlobal () в этом единственном потоке, то есть поток, создающий объект, и затем использую возвращенный указатель интерфейса (фактически прокси) так же, как используя исходный указатель интерфейса? Другими словами, можно ли использовать прокси (который должен использоваться другим потоком) для основного потока?

А что если я использую таблицу глобального интерфейса в потоках MTA для объекта MTA? Это будет работать или повреждено?

Заранее спасибо.

1 Ответ

2 голосов
/ 19 июня 2011

Вы получите свой собственный указатель обратно, так как прокси не нужен.

...