diff options
Diffstat (limited to 'CPP/Windows/MemoryLock.h')
-rw-r--r--[-rwxr-xr-x] | CPP/Windows/MemoryLock.h | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/CPP/Windows/MemoryLock.h b/CPP/Windows/MemoryLock.h index 5fe619de..f08e5179 100755..100644 --- a/CPP/Windows/MemoryLock.h +++ b/CPP/Windows/MemoryLock.h @@ -1,13 +1,34 @@ // Windows/MemoryLock.h -#ifndef __WINDOWS_MEMORYLOCK_H -#define __WINDOWS_MEMORYLOCK_H +#ifndef __WINDOWS_MEMORY_LOCK_H +#define __WINDOWS_MEMORY_LOCK_H namespace NWindows { namespace NSecurity { #ifndef UNDER_CE -bool EnableLockMemoryPrivilege(bool enable = true); + + 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 }} |