// Windows/MemoryLock.h | |
#ifndef __WINDOWS_MEMORY_LOCK_H | |
#define __WINDOWS_MEMORY_LOCK_H | |
namespace NWindows { | |
namespace NSecurity { | |
#ifndef UNDER_CE | |
bool EnablePrivilege(LPCTSTR privilegeName, bool enable = true); | |
inline bool EnablePrivilege_LockMemory(bool enable = true) | |
{ | |
return EnablePrivilege(SE_LOCK_MEMORY_NAME, enable); | |
} | |
inline void EnablePrivilege_SymLink() | |
{ | |
/* Probably we do not to set any Privilege for junction points. | |
But we need them for Symbolic links */ | |
NSecurity::EnablePrivilege(SE_RESTORE_NAME); | |
/* Probably we need only SE_RESTORE_NAME, but there is also | |
SE_CREATE_SYMBOLIC_LINK_NAME. So we set it also. Do we need it? */ | |
NSecurity::EnablePrivilege(TEXT("SeCreateSymbolicLinkPrivilege")); // SE_CREATE_SYMBOLIC_LINK_NAME | |
// Do we need to set SE_BACKUP_NAME ? | |
} | |
#endif | |
}} | |
#endif |