Com Iunknown и мне нужен указатель на него, прежде чем позвонить CogetClassObject?

StackOverflow https://stackoverflow.com/questions/2843670

  •  27-09-2019
  •  | 
  •  

Вопрос

В COM, когда вы хотите создать экземпляр некоторых объектов COM Server, сначала нужно получить указатель на это интерфейс iunknown и только тогда создать класс объекта с помощью CogetClassObject?

Насколько я понимаю, IUKSnown используется для управления жизненными веществами объекта, поэтому из моего понимания, какой бы объект клиент не хочет создавать, нужно сначала нужен указатель на реализацию интерфейса INKNOWN.

Звук правильно? Если нет, может кто-нибудь скажет мне, как это работает?

Это было полезно?

Решение

IUnknown управляет продолжительностью жизни существующий COM объект. Перед созданием объекта нет IUnknown Указатель, чтобы поговорить.

CoGetClassObject используется, чтобы получить IUnknown Интерфейс для объекта, который ожидается создать объекты, представляющие интерес. Т.е. это объект фабрика, обычно реализует IClassFactory, который объявляет CreateInstance Метод, который вы используете для создания объектов.

Вместо того, чтобы использовать классы фабрики прямо, это часто проще просто позвонить CoCreateInstance.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top