Поддержка x64 в SLMessageQueue

Здесь обсуждаются любые продукты компании СофтЛаб-НСК для телевизионного вещания (Форвард Т, Форвард ТС, Форвард Голкипер, Форвард Рефери, Форвард Офис, Форвард Инжест)

Модераторы: ElenVR, Людмила, PR

Ответить
int
Сообщения: 21
Зарегистрирован: 03 июн 2013 14:12

Поддержка x64 в SLMessageQueue

Сообщение int »

Здравствуйте!

Имею такой код (на Qt):

Код: Выделить всё

    // prepare COM for forward
    ::CoInitialize(NULL);
    // create connection
    ISLMSConnection *pConnection;
    HRESULT hr = ::CoCreateInstance(CLSID_SLMSConnection, NULL, CLSCTX_ALL, IID_ISLMSConnection, (void**)&pConnection);
    if (FAILED(hr)) {
        err_state = true;
        emit errorWhileConnection(tr("Can not create instance of SLMessageQueue2Lib::CLSID_SLMSConnection"));
        return;
    }
В 32-х битной сборке все хорошо. Функция отрабатывает и сигнал с ошибкой не приходит. В 64-х битах HRESULT становится равным коду ошибки REGDB_E_CLASSNOTREG. Сама библиотека SLMessageQueue2.dll является 32-х битной, и, полагаю, работает как CLSCTX_INPROC_HANDLER (поправьте, если я не прав). 64-х битный процесс не может подгружать 32-х битные библиотеки.

Планируется ли сделать поддержку 64-х битной разработки? Или есть способ, о котором я не знаю?
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Да, практически все наши библиотеки в данный момент являются 32-разрядными. Но обстоятельства заставляют нас переходить на 64-разрядные версии. Так что, в своё время дойдёт очередь и до 64-разрядной версии SLMessageServer.
Ответить