Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Не создаётся COM-сервер (http://forum.oszone.net/showthread.php?t=267202)

pva 31-08-2013 11:27 2210551

Не создаётся COM-сервер
 
делаю DLL, с заглушечными функциям (просто выводят сообщения)
Код:

STDAPI __declspec(dllexport) DllRegisterServer(void);
STDAPI __declspec(dllexport) DllUnregisterServer(void);
STDAPI __declspec(dllexport) DllCanUnloadNow(void);
STDAPI __declspec(dllexport) DllGetClassObject(REFCLSID clsid, REFIID id, LPVOID *out);

Проверяю
Код:

regsvr32  libax_ser_test.dll
нужное сообщение выскакивает.

Прописываю в реестре:
Код:

HKEY_CLASSES_ROOT\CLSID\{9b903d34-1f68-48de-b344-b18481a318e8}\ProgID
    (по умолчанию) = LUA.MyClass
HKEY_CLASSES_ROOT\CLSID\{9b903d34-1f68-48de-b344-b18481a318e8}\InprocServer32
    (по умолчанию) = D:\work\active_x\ax_ser_test\Debug\libax_ser_test.dll
    ThreadingModel = Both
HKEY_CLASSES_ROOT\LUA.MyClass
    (по умолчанию) = Lua server test
HKEY_CLASSES_ROOT\LUA.MyClass\CLSID
    (по умолчанию) = {9b903d34-1f68-48de-b344-b18481a318e8}

запускаю тестирующий код
Код:

        IDispatch *disp;
        GUID clsid;
        HRESULT initialized = CoInitialize(0);
        // это работает
        HRESULT got_guid = CLSIDFromProgID(L"LUA.MyClass", &clsid);
        // это не работает
        HRESULT created = CoCreateInstance(clsid, 0, CLSCTX_INPROC_SERVER, IID_IUnknown, (void**)&disp);
/*
Name : created
        Details:-2147221164
        Default:-2147221164
        Decimal:-2147221164
        Hex:0x80040154
        Binary:10000000000001000000000101010100
        Octal:020001000524
*/

где намудил? чего не хватает?
win7, mingw


Время: 01:01.

Время: 01:01.
© OSzone.net 2001-