#include "tools.h" namespace Tools { auto Is64BitPorcess(HANDLE hProcess) -> bool { BOOL bIsWow64 = false; IsWow64Process(hProcess, &bIsWow64); return bIsWow64 == false; } auto EnableDebugPrivilege(bool bEnable) -> bool { bool fOK = FALSE; // Assume function fails HANDLE hToken; if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken)) { TOKEN_PRIVILEGES tp; tp.PrivilegeCount = 1; LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tp.Privileges[0].Luid); tp.Privileges[0].Attributes = bEnable ? SE_PRIVILEGE_ENABLED : 0; AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL); fOK = (GetLastError() == ERROR_SUCCESS); CloseHandle(hToken); } return fOK; } }; // namespace Tools