130 / 15 / 6
Регистрация: 05.08.2013
Сообщений: 285
1

Получение доступа к интефейсу COM сервера, native C++

25.11.2013, 18:00. Показов 1216. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем здравствуйте)
Вопрос следующий.
В системе есть зарегестрированный COM.
Задача стоит в получении доступа к его интерфейсу.
Использую компиляторы bcc32 или MinGw.
Насколько я понял, чтобы получить указатель нужно
вызвать ф-ю
C
1
2
3
4
5
6
7
HRESULT CoGetClassObject(
  _In_      REFCLSID rclsid,
  _In_      DWORD dwClsContext,
  _In_opt_  COSERVERINFO *pServerInfo,
  _In_      REFIID riid,
  _Out_     LPVOID *ppv
);
А кто-нибудь может подсказать, как это правильно сделать?
Т.е. мне нужен clsid, а его можно как-то из названия получить,
вроде-бы
C
1
2
3
4
HRESULT CLSIDFromString(
  _In_   LPCOLESTR lpsz,
  _Out_  LPCLSID pclsid
);
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2013, 18:00
Ответы с готовыми решениями:

Получение доступа
Вот к примеру, чтоб получить доступ из формы 1 к форме 2, нужен код: Form2 dlg = new Form2(); ...

Получение доступа
Недавно лазил в маей рабочей сетке, и к сваему удивлению обнаружил что не являюся админом для...

Получение ip сервера
Коллеги, всем день добрый! Возникла задача - получить все IP адреса сервера Domino агентом....

Получение доступа к регистрам
Правильно ли я понимаю, что когда я пишу имя регистра или переменной, то фактически указываю на её...

2
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,413
25.11.2013, 20:27 2
Лучший ответ Сообщение было отмечено fier как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//получение CLSID по ProgID
CLSID clsid;
if (FAILED(CLSIDFromProgID(L"{...}", &clsid)))
{
    //упс
}
 
//получение объекта (контекст вам придется указать самому - CLSCTX_INPROC_SERVER, CLSCTX_LOCAL_SERVER или CLSCTX_REMOTE_SERVER)
IMyObject *pi;
if
(
    FAILED
    (
        CoCreateInstance
        (
            clsid, 0, context, IID_IMyObject,
            (LPVOID *)&pi
        )
    )
)
{
    //упс
}
для интереса в посте https://www.cyberforum.ru/com-... ost3538077
лежит com_server_test (clear).rar
в нем вы найдете некоторую информацию которая может быть полезной.
1
130 / 15 / 6
Регистрация: 05.08.2013
Сообщений: 285
25.11.2013, 22:09  [ТС] 3
Большое Вам спасибо. Буду разбираться.
0
25.11.2013, 22:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2013, 22:09
Помогаю со студенческими работами здесь

Получение доступа к папке
Мне нужно получить доступ к папке c/users/username/dowland. Но проблема в том, что на разных Пк...

Получение доступа к SpecialFolders
Доброго времени суток! Пишу программу, которая ищет *.exe-шники в определенной папке. Проблема в...

Получение доступа к MainWindow
Добрый день. При написании курсовой работы возникла проблема. Допустим у нас есть две формы:...

Получение доступа к ресурсу
Есть сетевая папка расположенная на компьютере директора. При попытке открытия выдается ошибка:...

Открытие доступа с сервера
Привет всем! Есть локальная сеть из сервера и 2-х клиентских машин. На всех машинах стоит Debian....

Получение JSON с сервера
Есть класс который принимает строку URL и возвращает JSONObject public class Json { public...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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