diff options
Diffstat (limited to '3rdparty/lzma/CPP/Windows/MemoryLock.h')
-rw-r--r-- | 3rdparty/lzma/CPP/Windows/MemoryLock.h | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/3rdparty/lzma/CPP/Windows/MemoryLock.h b/3rdparty/lzma/CPP/Windows/MemoryLock.h index 5fe619de05f..4a5dafcf01d 100644 --- a/3rdparty/lzma/CPP/Windows/MemoryLock.h +++ b/3rdparty/lzma/CPP/Windows/MemoryLock.h @@ -1,13 +1,36 @@ // Windows/MemoryLock.h -#ifndef __WINDOWS_MEMORYLOCK_H -#define __WINDOWS_MEMORYLOCK_H +#ifndef __WINDOWS_MEMORY_LOCK_H +#define __WINDOWS_MEMORY_LOCK_H + +#include "../Common/MyWindows.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 }} |