Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 2 / 1
Регистрация: 14.02.2011
Сообщений: 100
1

COM-сервер на ATL и IClassFactory

02.04.2011, 14:03. Показов 1978. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно написать COM-сервер с помощью ATL.
Он должен реализовать интерфейсы IPersistFolder, IShellFolder, IClassFactory и т.д.
Первые два из Windows Shell с ними вроде всё в порядке,
а вот как реализуется IClassFactory?
Делая как написано в MSDN, IClassFactory, при просмотре через OLE/COM Object Viewer, не появляется.
Я понимаю MSDN так:
Нужно создать объект через Add Class Wizard, например, ATL Simple Object.
Он уже порождён от CComCoClass, а это и есть реализация IClassFactory.
Ну и ещё в объявлении моего класса добавляем макрос DECLARE_CLASSFACTORY().
Получается примерно следующее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class ATL_NO_VTABLE CAristArchMain : 
    public CComObjectRootEx<CComSingleThreadModel>,         //насколько я понимаю это IUnknown
    public CComCoClass<CAristArchMain, &CLSID_AristArchMain>,   //а это IClassFactory
    public IAristArchMain,
    public IPersistFolder   //добавил руками
{
public:
//...
DECLARE_CLASSFACTORY()  //добавил руками
//...
BEGIN_COM_MAP(CAristArchMain)
    COM_INTERFACE_ENTRY(IAristArchMain)
    COM_INTERFACE_ENTRY(IPersist)       //тоже руками (от него порождён IPersistFolder)
    COM_INTERFACE_ENTRY(IPersistFolder) //тоже руками
END_COM_MAP()
//...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2011, 14:03
Ответы с готовыми решениями:

System.UnauthorizedAccessException: Creating an instance of the COM component with CLSID {...} from the IClassFactory failed due to the following erro
COM-клиент пытается удаленно (по лок. сети) запустить COM-сервер: запуск выполняется, но сразу же...

ATL
Здравствуйте, не подскажете если ли туториалы на русском по этой библиотеке? Нужно написать...

Изучение COM, C++ ATL
Добрый день. Ищу самый простой материал по изучению технологии COM. Нужно создать COM полигон и...

поделитесь ATL
Доброго времени суток! Может у кого завалялась библиотека atl, будьте добры, поделитесь. на форум...

0
02.04.2011, 14:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2011, 14:03
Помогаю со студенческими работами здесь

Win32 + ATL
Мне нужна помощь с работой в атл. вот код: #include &lt;windows.h&gt; #include &lt;atlbase.h&gt;...

На зачете спросили по ATL COM
С помощью мастера ATL COM в Visual Studio на языке C++ создаем проект LB3_AutoSvr в качестве...

Литература по ATL/WTL.
Здравствуйте, уважаемые форумчане! Не могли бы вы посоветовать стоящую литературу по библиотекам...

ATL Service и переодическая задача
Необходимо написать сервис для вин, использую для этой цели шаблон в VS2010(С++, АТЛ)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru