A Windows API hooking library originally written by Tsuda Kageyu.
http://www.codeproject.com/KB/winsdk/LibMinHook.aspx
- Removed boost dependency (jarredholman).
- Fixed a small bug in the GetRelativeBranchDestination function (pillbug99).
- Added the
MH_RemoveHookfunction, which removes a hook created with theMH_CreateHookfunction. - Added the following functions to enable or disable multiple hooks in one go:
MH_QueueEnableHook,MH_QueueDisableHook,MH_ApplyQueued. This is the preferred way of handling multiple hooks as every call toMH_EnableHookorMH_DisableHooksuspends and resumes all threads. - Made the functions
MH_EnableHookandMH_DisableHookenable/disable all created hooks when theMH_ALL_HOOKSparameter is passed. This, too, is an efficient way of handling multiple hooks. - If the target function is too small to be patched with a jump, MinHook tries to place the jump above the function. If that fails as well, the
MH_CreateHookfunction returnsMH_ERROR_UNSUPPORTED_FUNCTION. This fixes an issue of hooking the LoadLibraryExW function on Windows 7 x64 (reported by Obble).