BOOL SetPrivilege (LPCTSTR lpszPrivilege, BOOL bEnablePrivilege)
{
TOKEN_PRIVILEGES TP;
LUID luid;
HANDGRIFF hToken;
OpenProcessToken (GetCurrentProcess (), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
wenn (! LookupPrivilegeValue (NULL, lpszPrivilege, &luid))
RÜCKHOLFALSCHES;
tp.PrivilegeCount = 1;
TP. Privilegien [0]. Luid = luid;
wenn (bEnablePrivilege)
TP. Privilegien [0]. Attribute = SE_PRIVILEGE_ENABLED;
sonst
TP. Privilegien [0]. Attribute = 0;
AdjustTokenPrivileges (hToken, FALSCH, &tp, 0, (PTOKEN_PRIVILEGES) NULL, 0);
zurückgehen ((GetLastError ()! =ERROR_SUCCESS)? FALSCH: AUSRICHTEN);
}
|