extern "C" HMODULE __stdcall track_LoadLibraryA(LPCSTR file) { uintptr_t loc = (uintptr_t)_ReturnAddress(); DllTrackInfo* pInfo = tracker_get_dlltrackinfo(loc); char* path = NULL; if (pInfo) path = pInfo->pDll->GetFileName(); HMODULE hHandle = dllLoadLibraryExtended(file, path); tracker_library_track(loc, hHandle); return hHandle; }
extern "C" HMODULE __stdcall track_LoadLibraryExA(const char* lpLibFileName, HANDLE hFile, DWORD dwFlags) { uintptr_t loc = (uintptr_t)_ReturnAddress(); DllTrackInfo* pInfo = tracker_get_dlltrackinfo(loc); const char* path = NULL; if (pInfo) path = pInfo->pDll->GetFileName(); HMODULE hHandle = dllLoadLibraryExExtended(lpLibFileName, hFile, dwFlags, path); tracker_library_track(loc, hHandle); return hHandle; }