Вниз
Скачать: CL | DM;

Как узнать что превилигия включена или выключена?   Найти похожие ветки 

← →
NikNet ©   (2005-08-23 21:02) [0]

Как узнать что например DEBUG привилигия включена или выключена?
и ещё каку знать есть ли у пользователя эта  привилигия или
надо добавить?


← →
alpet ©   (2005-08-23 21:08) [1]

Может быть ПРИВИЛЕГИЯ?


← →
Zeqfreed ©   (2005-08-23 21:34) [2]

NikNet ©   (23.08.05 21:02)

function SetPrivilege(const PrivilegeName : string; const Enable : boolean) : boolean;
var
tpOld, tp : TTokenPrivileges;
Token : Cardinal;
dwRetLen : DWORD;
begin
Result := False;
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, Token);

tp.PrivilegeCount := 1;
if LookupPrivilegeValue(nil, PChar(PrivilegeName), tp.Privileges[0].LUID) then begin
 if Enable then
  tp.Privileges[0].Attributes:= SE_PRIVILEGE_ENABLED
 else
  tp.Privileges[0].Attributes:= 0;

 dwRetLen := 0;
 Result := AdjustTokenPrivileges(Token, False, tp, SizeOf(tpOld), tpOld, dwRetLen);
end;

CloseHandle(Token);
end;


Вот код из одного FAQ"а, почитай справку по ф-циям.


← →
BiN ©   (2005-08-24 09:21) [3]

>>NikNet ©   (23.08.05 21:02)  

Как узнать что например DEBUG привилигия включена или выключена?
и ещё каку знать есть ли у пользователя эта  привилигия или
надо добавить?


Для получения списка привилегий, ассоциированных с учетной записью, используется LsaEnumerateAccountRights.
Для получения списка привилегий, ассоциированных с маркером процесса, - GetTokenInformation.

>>Zeqfreed ©   (23.08.05 21:34) [2]

...
Result := AdjustTokenPrivileges(...


Список привилегий "закрепляется" за маркером при его создании.
Так вот, если в маркере будет отсутствовать целевая привилегия, и мы попытаемся установить ее в состояние "enabled", то AdjustTokenPrivileges вернет True, а привилегия при этом не будет установлена. Для того, чтобы проверить установлена привилегия, нужно проверять еще GetLastError на равенство ERROR_SUCCESS.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.022 c
1-1128684587
XfroSt
2005-10-07 15:29
2005.10.30
Плоский TDateTimePicker


3-1127240599
Morrison
2005-09-20 22:23
2005.10.30
В таблице невозможно завести новую запись: Key Violation


14-1128526612
kami
2005-10-05 19:36
2005.10.30
Посоветуйте что-нибудь по БД


14-1128330835
kaif
2005-10-03 13:13
2005.10.30
Существует ли абсолютная истина?


8-1117651080
dan
2005-06-01 22:38
2005.10.30
Прокрутка в DSPack




   Наверх