Amr Mohammad Rashad Ответов: 1

Спецификации COM нуждаются в уточнении


Приветствия,

Мне нужно знать некоторые спецификации и терминологию COM. Я прочитал здесь хорошую статью о COM, Введение в COM - что это такое и как его использовать однако есть несколько вещей, которых я до сих пор не понимаю, и я надеюсь, что кто-то сможет мне в этом помочь. Во-первых, в статье говорится, что
Цитата:
множественное наследование не допускается с интерфейсами
С другой стороны, в статье упоминался метод на интерфейсе IUnknown, называемый
Цитата:
Метод queryinterface()
который может быть использован для запроса указателя из COM-объекта, если класс объекта реализует более одного интерфейса. Поэтому я смущен, что наследование от нескольких интерфейсов (т. е. класс: interface1, interface2 и т. д.) разрешено/не разрешено?!!!. Кроме того, передаем ли мы указатель типа интерфейса методу CoCreateInstance() вместе с именем класса как форму полиморфизма, поскольку может быть несколько классов, каждый из которых реализует один и тот же интерфейс по-своему?. Это первые два вопроса

Что я уже пробовал:

Прочтите статью о COM на форуме, чтобы понять, что такое COM-объекты

1 Ответов

Рейтинг:
10

CPallini

COM интерфейс не является C++ интерфейс (COM "класс" - это не так C++ "класс", как указано в статье). Взгляните на COM-объекты и интерфейсы (COM)[^]. Ля COM класс может предоставлять несколько интерфейсов, но при этом не подразумевается множественное наследование интерфейса.