面向外部的接口:
#pragma once
#include <functional>
#ifdef CORECENTER_EXPORTS
#define CORECENTER_EXPORTS __declspec(dllexport)
#else
#define CORECENTER_EXPORTS
#endif
extern "C"
{
CORECENTER_EXPORTS int GetInterfaceCount(const char* strNotify);
CORECENTER_EXPORTS void* GetInterface(const char* strNotify, int index);
CORECENTER_EXPORTS void AddInterface(const char* strNotify, void* pNotifyObject);
CORECENTER_EXPORTS void RemoveInterface(const char* strNotify, void* pNotifyObject);
CORECENTER_EXPORTS void* GetCoreInstance(const char* strInterface);
CORECENTER_EXPORTS void AddCreateInstanceFunc(const char* strInterface, std::function<void*()> func);
CORECENTER_EXPORTS void AddNotifyInstance(const char* strNotify, const char* strInterface);
CORECENTER_EXPORTS void ActiveNotifyInstance(const char* strNotify);
CORECENTER_EXPORTS void StartComponent();
}
//********************************************************