C++/C++ Common
Callback function
doublerabbits
2022. 7. 18. 23:38
Callback function
- EXE 함수를 DLL 에서 호출
DLL
extern "C" __declspec(dllexport) void __stdcall DLL_SetErrorFunction(LPVOID fp);
caller.h
void(*fpErrorFunction)(int errorNum);
void ErrorFunction(int errorNum);
void SetErrorFunction(LPVOID fp);
caller.cpp
caller()
{
fpErrorFunction = NULL;
}
void caller::SetErrorFunction(LPVOID fp)
{
fpErrorFunction = (void(__cdecl*)(int))fp;
}
void caller::ErrorFunction(int errorNum)
{
if (NULL == fpErrorFunction)
{
return;
}
fpErrorFunction(num);
}
EXE
extern "C" __declspec(dllimport) void __stdcall DLL_SetErrorFunction(LPVOID fp);
called.h
static void __cdecl ErrorFunction(int errNum);
called.cpp
called()
{
DLL_SetErrorFunction(ErrorFunction);
}
void __cdecl called::ErrorFunction(int errorNum)
{
...
}