misc/libphysfs/lzma/CPP/Windows/MemoryLock.cpp
branchui-scaling
changeset 15283 c4fd2813b127
parent 13390 0135e64c6c66
parent 15279 7ab5cf405686
child 15663 d92eeb468dad
--- a/misc/libphysfs/lzma/CPP/Windows/MemoryLock.cpp	Wed May 16 18:22:28 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-// Common/MemoryLock.cpp
-
-#include "StdAfx.h"
-
-namespace NWindows {
-namespace NSecurity {
-
-#ifndef _UNICODE
-typedef BOOL (WINAPI * OpenProcessTokenP)(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle);
-typedef BOOL (WINAPI * LookupPrivilegeValueP)(LPCTSTR lpSystemName, LPCTSTR lpName, PLUID  lpLuid);
-typedef BOOL (WINAPI * AdjustTokenPrivilegesP)(HANDLE TokenHandle, BOOL DisableAllPrivileges,
-    PTOKEN_PRIVILEGES NewState, DWORD BufferLength, PTOKEN_PRIVILEGES PreviousState,PDWORD ReturnLength);
-#endif
-
-#ifdef _UNICODE
-bool EnableLockMemoryPrivilege(
-#else
-static bool EnableLockMemoryPrivilege2(HMODULE hModule,
-#endif
-bool enable)
-{
-  #ifndef _UNICODE
-  if (hModule == NULL)
-    return false;
-  OpenProcessTokenP openProcessToken = (OpenProcessTokenP)GetProcAddress(hModule, "OpenProcessToken");
-  LookupPrivilegeValueP lookupPrivilegeValue = (LookupPrivilegeValueP)GetProcAddress(hModule, "LookupPrivilegeValueA" );
-  AdjustTokenPrivilegesP adjustTokenPrivileges = (AdjustTokenPrivilegesP)GetProcAddress(hModule, "AdjustTokenPrivileges");
-  if (openProcessToken == NULL || adjustTokenPrivileges == NULL || lookupPrivilegeValue == NULL)
-    return false;
-  #endif
-
-  HANDLE token;
-  if (!
-    #ifdef _UNICODE
-    ::OpenProcessToken
-    #else
-    openProcessToken
-    #endif
-    (::GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &token))
-    return false;
-  TOKEN_PRIVILEGES tp;
-  bool res = false;
-  if (
-    #ifdef _UNICODE
-    ::LookupPrivilegeValue
-    #else
-    lookupPrivilegeValue
-    #endif
-    (NULL, SE_LOCK_MEMORY_NAME, &(tp.Privileges[0].Luid)))
-  {
-    tp.PrivilegeCount = 1;
-    tp.Privileges[0].Attributes = enable ? SE_PRIVILEGE_ENABLED: 0;
-    if (
-      #ifdef _UNICODE
-      ::AdjustTokenPrivileges
-      #else
-      adjustTokenPrivileges
-      #endif
-      (token, FALSE, &tp, 0, NULL, NULL))
-      res = (GetLastError() == ERROR_SUCCESS);
-  }
-  ::CloseHandle(token);
-  return res;
-}
-
-#ifndef _UNICODE
-bool EnableLockMemoryPrivilege(bool enable)
-{
-  HMODULE hModule = LoadLibrary(TEXT("Advapi32.dll"));
-  if(hModule == NULL)
-    return false;
-  bool res = EnableLockMemoryPrivilege2(hModule, enable);
-  ::FreeLibrary(hModule);
-  return res;
-}
-#endif
-
-}}