Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Создание GlobalInterfaceTable

1.8K
19 ноября 2009 года
Arkady
153 / / 18.12.2007
Приветствую,

Появилась необходимость воспользоваться GlobalInterfaceTable. MSDN говорит, что правильно это делать так:

 
Код:
IGlobalInterfaceTable* gp_GIT;

HRESULT hr = CoCreateInstance(CLSID_StdGlobalInterfaceTable,
            NULL, CLSCTX_LOCAL_SERVER, IID_IGlobalInterfaceTable, (void **)&gp_GIT);
if (FAILED(hr))
{
            char XXX[30];
            MessageBox(NULL, itoa(hr, XXX, 16), "sdf", MB_OK);
}

У меня возвращает 80040154, что в winerror.h соответствует:
#define REGDB_E_CLASSNOTREG _HRESULT_TYPEDEF_(0x80040154L)

Кто-нибудь знает, почему моя таблица интерфейсов не инициализируется? Какой класс надо зарегистрировать и где? :(

(как и советует MSDN, я включил uuid.lib в проект)
1.8K
20 ноября 2009 года
Arkady
153 / / 18.12.2007
Цитата: Arkady
Приветствую,

Появилась необходимость воспользоваться GlobalInterfaceTable. MSDN говорит, что правильно это делать так:

 
Код:
IGlobalInterfaceTable* gp_GIT;

HRESULT hr = CoCreateInstance(CLSID_StdGlobalInterfaceTable,
            NULL, CLSCTX_LOCAL_SERVER, IID_IGlobalInterfaceTable, (void **)&gp_GIT);
if (FAILED(hr))
{
            char XXX[30];
            MessageBox(NULL, itoa(hr, XXX, 16), "sdf", MB_OK);
}

У меня возвращает 80040154, что в winerror.h соответствует:
#define REGDB_E_CLASSNOTREG _HRESULT_TYPEDEF_(0x80040154L)

Кто-нибудь знает, почему моя таблица интерфейсов не инициализируется? Какой класс надо зарегистрировать и где? :(

(как и советует MSDN, я включил uuid.lib в проект)



Обязательно надо в качестве параметра передавать CLSCTX_INPROC_SERVER, а не CLSCTX_LOCAL_SERVER, поскольку этот флаг определяет не тип Вашего сервера, как я думал, а процесс, для которого будет создана таблица, в данном случае, это должен быть собственный процесс, а значит INPROC - правильно.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог