Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.19;
Скачать: CL | DM;

Вниз

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

 
truntaev   (2003-10-10 21:52) [0]

попытался из С взять пример но не заладилось с функцией
AdjustTokenPrivileges
Заранее признателен за помощь!
procedure TForm1.Button1Click(Sender: TObject);
var

hToken : THANDLE;
NewState: PTokenPrivileges;
prevs: PTokenPrivileges;
p: Pointer;
s: PChar;
t: TTokenPrivileges;
begin

s:="EWX_SHUTDOWN";
OpenProcessToken (GetCurrentProcess (), TOKEN_ADJUST_PRIVILEGES,hToken);
p:=AllocMem (sizeof(TOKEN_PRIVILEGES) + sizeof (LUID_AND_ATTRIBUTES));
NewState := PTokenPrivileges(p);
prevs:=NewState;
NewState.PrivilegeCount:=1;
LookupPrivilegeValue(#0,s,
NewState^.Privileges[0].Luid);
NewState.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
t:=TTokenPrivileges(NewState^);

{выдается синтаксическая ошибка на этой функции}
{как с этим бороться?}
AdjustTokenPrivileges (hToken, LongBool(FALSE), t, 0, prevs, 0);
free (NewState);
CloseHandle (hToken);
ExitWindowsEx (EWX_REBOOT, 0);
end;


 
Burmistroff   (2003-10-11 23:07) [1]

EnablePrivilege("SeShutdownPrivilege");

procedure EnablePrivilege(lpszPrivilege:LPCTSTR);// получение привилегий в Win NT
{
Enable privilege for Windows NT
}
var
hToken: THANDLE;
tp : TOKEN_PRIVILEGES;
luid: Int64;
tpPrevious: TOKEN_PRIVILEGES;
cbPrevious : DWORD;
begin
cbPrevious := sizeof(TOKEN_PRIVILEGES);
if LookupPrivilegeValue( Nil, lpszPrivilege, luid )=false then exit;
if( not OpenProcessToken( GetCurrentProcess(),
TOKEN_QUERY or TOKEN_ADJUST_PRIVILEGES,
hToken ) ) then exit;
tp.PrivilegeCount:= 1;
tp.Privileges[0].Luid := luid;
tp.Privileges[0].Attributes := (SE_PRIVILEGE_ENABLED);//0;
AdjustTokenPrivileges( hToken, FALSE, tp, sizeof(TOKEN_PRIVILEGES),
tpPrevious, cbPrevious );
if( GetLastError <> ERROR_SUCCESS ) then
else
CloseHandle( hToken );
end;



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

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

Наверх




Память: 0.46 MB
Время: 0.023 c
4-62325
ulchi
2003-10-24 12:26
2003.12.19
Обработка события минимизации окна


1-62014
acsoft
2003-12-05 19:53
2003.12.19
Как запретить TWebBrowser показывать сообщения об ошибке кода вну


1-62057
go
2003-12-05 17:14
2003.12.19
Вычисления


1-62132
Mag
2003-12-07 22:19
2003.12.19
Отключения


1-62038
axx
2003-12-06 10:11
2003.12.19
Господа дайте КОНСУЛЬТАЦИЮ по GetMem и FreeMem