| 113 | |
| 114 | |
| 115 | bool SetPrivilege(LPCTSTR PrivName) |
| 116 | { |
| 117 | bool Success=false; |
| 118 | |
| 119 | HANDLE hToken; |
| 120 | if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken)) |
| 121 | { |
| 122 | TOKEN_PRIVILEGES tp; |
| 123 | tp.PrivilegeCount = 1; |
| 124 | tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; |
| 125 | |
| 126 | if (LookupPrivilegeValue(NULL,PrivName,&tp.Privileges[0].Luid) && |
| 127 | AdjustTokenPrivileges(hToken, FALSE, &tp, 0, NULL, NULL) && |
| 128 | GetLastError() == ERROR_SUCCESS) |
| 129 | Success=true; |
| 130 | |
| 131 | CloseHandle(hToken); |
| 132 | } |
| 133 | |
| 134 | return Success; |
| 135 | } |
no outgoing calls
no test coverage detected