Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Перезагрузка NT

3.2K
23 марта 2003 года
BSnake
5 / / 23.03.2003
Как можно получить права на перезагрузку NT?
Я знаю что это делает функция AdjustTokenPrivileges, но обламываюсь ее использовать.
Всем кому невлом поделитесь кодом. Желательно на мыло т.к с инетом напряжонка.
429
24 марта 2003 года
Slon
78 / / 20.01.2000
Цитата:
Originally posted by BSnake
Как можно получить права на перезагрузку NT?
Я знаю что это делает функция AdjustTokenPrivileges, но обламываюсь ее использовать.
Всем кому невлом поделитесь кодом. Желательно на мыло т.к с инетом напряжонка.



Это должно помочь:

Код:
HANDLE hToken;
TOKEN_PRIVILEGES* NewState;
OSVERSIONINFO OSVersionInfo;

OSVersionInfo.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
GetVersionEx (&OSVersionInfo);
if (OSVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT)
   {
   OpenProcessToken (GetCurrentProcess (), TOKEN_ADJUST_PRIVILEGES,
   &hToken);
   NewState = (TOKEN_PRIVILEGES*) malloc (sizeof
   (TOKEN_PRIVILEGES) + sizeof (LUID_AND_ATTRIBUTES));
   NewState->PrivilegeCount = 1;
   LookupPrivilegeValue (NULL, SE_SHUTDOWN_NAME,
   &NewState->Privileges[0].Luid);
   NewState->Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
   AdjustTokenPrivileges (hToken, FALSE, NewState, NULL, NULL, NULL);
   free (NewState);
   CloseHandle (hToken);
   }

ExitWindowsEx (EWX_REBOOT, 0);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог