из-вне этого класса. На низком уровне - это определённая структура памяти, содержащая массив указателей на функции класса.
Основу COM составляет соглашения о межкомпонентном интерфейсе, т.е. некоторое множество внутренних свойств и методов, присущих всем COM компонентам, используя который можно получать информацию о прикладных методах и свойствах компонента.
Нужно иметь ввиду, что
компонент это не класс: компонент может быть реализован как используя несколько классов, так и вообще без класса, лишь бы он удовлетворял спецификациям COM
в настоящей реализации отсутствует наследование (это предполагается осуществить в версии COM+)
однажды созданные (опубликованные) интерфейсы COM-компонента не изменяются. (нарушение этого привело бы к несовместимости версий компонентов)
Интерфейс COM, через который запрашиваются другие интерфейсы компонента называется Iunknown и он содержит в себе всего три метода: QueryInterface, AddRef, и Release
Interface IUnknown
{
virtual HRESULT __stdcall QueryInterface(const IID& iid, void** ppv)= 0;
virtual ULONG __stdcall AddRef() = 0;
virtual ULONG __stdcall Release() = 0;
}
Интерфейсы COM