1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
if (FALSE == OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &_hToken))
{
_ErrorCode = ERROR_INVALID_ACCESS;
goto Leave;
}
if (FALSE == LookupPrivilegeValue(NULL, SE_CREATE_PAGEFILE_NAME, &_TokenPrivileges.Privileges[0].Luid))
{
_ErrorCode = ERROR_INVALID_ACCESS;
goto Leave;
}
else
{
DWORD _SizeName = 512;
LookupPrivilegeName(NULL, &_TokenPrivileges.Privileges[0].Luid, _Name, &_SizeName);
}
_TokenPrivileges.PrivilegeCount = 1;
_TokenPrivileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
if (FALSE == AdjustTokenPrivileges(_hToken, FALSE, &_TokenPrivileges, 0, (PTOKEN_PRIVILEGES)NULL, 0))
{
_ErrorCode = ERROR_INVALID_ACCESS;
goto Leave;
}
else
{
_ErrorCode = GetLastError();
if (ERROR_NOT_ALL_ASSIGNED == _ErrorCode)
{
Log(LOG_ERROR,"Mais le privilege n'a pas été chargé.\n");
}
} |
Partager