Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.30;
Скачать: 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 вся ветка

Текущий архив: 2005.10.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
14-1128782095
ArtemESC
2005-10-08 18:34
2005.10.30
Как устроен загрузочный сектор диска?


14-1128802429
Bogdan1024
2005-10-09 00:13
2005.10.30
дизайн программы под ВинХП


2-1128843624
Proxytel
2005-10-09 11:40
2005.10.30
TStringGrid - поставить выделение


3-1126854251
Андрей Жук
2005-09-16 11:04
2005.10.30
Народ! Подскажите мне нормальный метод построения шахматок


5-1106042112
Aleksandr.
2005-01-18 12:55
2005.10.30
Как повесить обработчик на открытие/закрытие DataSet a у компонен