com_test_dll.cpp

来自「数字信号处理的MATLAB实现」· C++ 代码 · 共 54 行

CPP
54
字号
#include "mwcomtypes.h"
#include "mclcommain.h"
#include "com_testclass_com.hpp"
#include "com_test_idl_i.c"
#include "mwcomutil_i.c"
#include "mwcomtypes_i.c"

CMCLModule g_Module;
mclEventMap g_EventMap;

static _MCLOBJECT_MAP_ENTRY objectmap[] = 
{
    {
        &CLSID_com_testclass, Ccom_testclass::RegisterClass,
        Ccom_testclass::UnregisterClass,
        Ccom_testclass::GetClassObject, "com_testclass",
        "com_test.com_testclass", "com_test.com_testclass.1_0"
    },
    {
        NULL, NULL, NULL, NULL, "", "", ""
    }
};

extern "C" { 

BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, void *pv )
{
    return g_Module.InitMain(objectmap, &LIBID_com_test, 1,
                             0, hInstance, dwReason, pv);
}

HRESULT __stdcall DllCanUnloadNow()
{
    return (g_Module.GetLockCount()==0) ? S_OK : S_FALSE;
}

HRESULT __stdcall DllGetClassObject(REFCLSID clsid, REFIID iid, void **ppv )
{
    return g_Module.GetClassObject( clsid, iid, ppv );
}

HRESULT __stdcall DllRegisterServer()
{
    return g_Module.UpdateRegistry( TRUE );
}

HRESULT __stdcall DllUnregisterServer()
{
    return g_Module.UpdateRegistry( FALSE );
}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?