MCPcopy Create free account
hub / github.com/EmmyLua/EmmyLuaDebugger / DllMain

Function DllMain

emmy_hook/src/dllmain.cpp:26–50  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24HINSTANCE g_hInstance = NULL;
25
26BOOL WINAPI DllMain(HINSTANCE hModule, DWORD reason, LPVOID reserved) {
27 g_hInstance = hModule;
28 EmmyFacade::Get().SetWorkMode(WorkMode::Attach);
29 EmmyFacade::Get().StartHook = FindAndHook;
30
31 if (reason == DLL_PROCESS_ATTACH) {
32 TSharedData data;
33 DisableThreadLibraryCalls(hModule);
34 if (!CreateMemFile(&file)) {
35 return FALSE;
36 }
37 // Set shared memory to hold what our remote process needs
38 memset(file.lpMemFile, 0, SHMEMSIZE);
39 data.hModule = hModule;
40 data.lpInit = (LPDWORD)(StartupHookMode);
41 data.dwOffset = (DWORD)(data.lpInit) - (DWORD)(data.hModule);
42 memcpy(file.lpMemFile, &data, sizeof(TSharedData));
43 }
44 else if (reason == DLL_PROCESS_DETACH) {
45 // Destroy();
46 CloseMemFile(&file);
47 }
48
49 return TRUE;
50}
51#endif
52

Callers

nothing calls this directly

Calls 3

CreateMemFileFunction · 0.85
CloseMemFileFunction · 0.85
SetWorkModeMethod · 0.80

Tested by

no test coverage detected