diff --git a/vnr/texthook/host/avl_p.h b/vnr/texthook/host/avl_p.h index b37800e..5f06449 100644 --- a/vnr/texthook/host/avl_p.h +++ b/vnr/texthook/host/avl_p.h @@ -144,7 +144,7 @@ protected: fCopy fCpy; fLength fLen; -//public: +public: // - Construction - AVLTree() {} diff --git a/vnr/texthook/host/hookman.cc b/vnr/texthook/host/hookman.cc index 93512b0..97abda6 100644 --- a/vnr/texthook/host/hookman.cc +++ b/vnr/texthook/host/hookman.cc @@ -208,6 +208,15 @@ HookManager::~HookManager() //DeleteCriticalSection(&hmcs); } +TextThread *HookManager::FindSingle(DWORD pid, DWORD hook, DWORD retn, DWORD split) +{ + if (pid == 0) + return thread_table->FindThread(0); + ThreadParameter tp = {pid, hook, retn, split}; + TreeNode *node = Search(&tp); + return node ? thread_table->FindThread(node->data) : nullptr; +} + TextThread *HookManager::FindSingle(DWORD number) { return (number & 0x80008000) ? nullptr : thread_table->FindThread(number); } @@ -698,6 +707,8 @@ ProcessRecord *HookManager::GetProcessRecord(DWORD pid) //return pr; } +DWORD HookManager::GetCurrentPID() { return current_pid; } + HANDLE HookManager::GetCmdHandleByPID(DWORD pid) { HM_LOCK; @@ -723,6 +734,8 @@ MK_BASIC_TYPE(LPVOID) // return hash; //} +DWORD GetCurrentPID() { return ::man->GetCurrentPID(); } + HANDLE GetCmdHandleByPID(DWORD pid) { return ::man->GetCmdHandleByPID(pid); } //void AddLink(WORD from, WORD to) { ::man->AddLink(from, to); } diff --git a/vnr/texthook/host/hookman.h b/vnr/texthook/host/hookman.h index 4d1b71c..b54abcf 100644 --- a/vnr/texthook/host/hookman.h +++ b/vnr/texthook/host/hookman.h @@ -46,8 +46,10 @@ public: HookManager(); ~HookManager(); // jichi 12/26/2013: remove virtual modifiers + TextThread *FindSingle(DWORD pid, DWORD hook, DWORD retn, DWORD split); TextThread *FindSingle(DWORD number); ProcessRecord *GetProcessRecord(DWORD pid); + DWORD GetProcessIDByPath(LPCWSTR str); // private void RemoveSingleThread(DWORD number); //void LockHookman(); //void UnlockHookman(); @@ -73,6 +75,7 @@ public: void UnRegisterProcess(DWORD pid); //void SetName(DWORD); + DWORD GetCurrentPID(); // private HANDLE GetCmdHandleByPID(DWORD pid); ConsoleCallback RegisterConsoleCallback(ConsoleCallback cf)