Как реализовать на С наследование нескольких COM интерфейсов? Дайте ссылочки где почитать, или примерчик небольшой, а то везде, где читал, примеры с наследованием одного IUnknown.
Здравствуйте, psu, Вы писали:
psu>Как реализовать на С наследование нескольких COM интерфейсов? Дайте ссылочки где почитать, или примерчик небольшой, а то везде, где читал, примеры с наследованием одного IUnknown.
На "чистом" С у тебя ничего не выйдет. А вот на С++ используй множественное наследование. Почитай просто про С++.
Здравствуйте, NotoriousVillain, Вы писали:
NV>Здравствуйте, psu, Вы писали:
psu>>Как реализовать на С наследование нескольких COM интерфейсов? Дайте ссылочки где почитать, или примерчик небольшой, а то везде, где читал, примеры с наследованием одного IUnknown.
NV>На "чистом" С у тебя ничего не выйдет. А вот на С++ используй множественное наследование. Почитай просто про С++.
Уже вышло правда на асме, что, в принципе, очень близко
psu>>Как реализовать на С наследование нескольких COM интерфейсов? Дайте ссылочки где почитать, или примерчик небольшой, а то везде, где читал, примеры с наследованием одного IUnknown.
NV>На "чистом" С у тебя ничего не выйдет. А вот на С++ используй множественное наследование. Почитай просто про С++.
Почему не выйдет? Всё что можно реализовать на С++, реализуемо и на С.
А по теме вопроса — не вижу в чём суть проблемы. Реализация IUnknown на чистом C — это создание структуры, заполненной указателями на функции для "эмуляции" Vtbl. Тебе всего-то нужно создать несколько таких структур (для каждого из поддерживаемых интерфейсов) и возвращать указатели на нужные структуры из QueryInterface.
Здравствуйте, psu, Вы писали:
psu>Как реализовать на С наследование нескольких COM интерфейсов? Дайте ссылочки где почитать, или примерчик небольшой, а то везде, где читал, примеры с наследованием одного IUnknown.
Ищи старые версии MS SDK. Там было много примеров на чистом С.
Здравствуйте, jntjnt, Вы писали:
J>Здравствуйте, psu, Вы писали:
psu>>Как реализовать на С наследование нескольких COM интерфейсов? Дайте ссылочки где почитать, или примерчик небольшой, а то везде, где читал, примеры с наследованием одного IUnknown.
J>Ищи старые версии MS SDK. Там было много примеров на чистом С.