OSDN Git Service

post WM_NULL to attached threads on yamy exit to unmap mayu{32,64}.dll
[yamy/yamy.git] / hook.cpp
index 74b8b73..98b585d 100644 (file)
--- a/hook.cpp
+++ b/hook.cpp
@@ -100,6 +100,7 @@ static void notifyLog(_TCHAR *i_msg);
 static bool mapHookData(bool i_isYamy);\r
 static void unmapHookData();\r
 static bool initialize(bool i_isYamy);\r
+static bool notify(void *i_data, size_t i_dataSize);\r
 \r
 \r
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
@@ -160,6 +161,12 @@ bool initialize(bool i_isYamy)
        g.m_WM_MAYU_MESSAGE =\r
                RegisterWindowMessage(addSessionId(WM_MAYU_MESSAGE_NAME).c_str());\r
        g.m_hwndTaskTray = g_hookData->m_hwndTaskTray;\r
+       if (!i_isYamy) {\r
+               NotifyThreadAttach ntd;\r
+               ntd.m_type = Notify::Type_threadAttach;\r
+               ntd.m_threadId = GetCurrentThreadId();\r
+               notify(&ntd, sizeof(ntd));\r
+       }\r
        g.m_isInitialized = true;\r
        return true;\r
 }\r
@@ -252,7 +259,7 @@ static void unmapHookData()
 \r
 \r
 /// notify\r
-DllExport bool notify(void *i_data, size_t i_dataSize)\r
+bool notify(void *i_data, size_t i_dataSize)\r
 {\r
        COPYDATASTRUCT cd;\r
 #ifdef MAYU64\r