ZwRaiseHardError & BSOD

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Brаin, 18 Oct 2012.

  1. Brаin

    Brаin New Member

    Joined:
    28 May 2011
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Сабж : функция ZwRaiseHardError, по идее, при передаче ей в качестве ResponseOption = 6 должна вызвать BSOD, для этого у процесса должна быть привилегия SE_SHUTDOWN_PRIVILEGE, собственно ее я получаю следующим образом :
    Code:
    LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&cur_priv.Privileges[0].Luid);
    cur_priv.PrivilegeCount = 1;
    cur_priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    AdjustTokenPrivileges(hToken,FALSE,&cur_priv,0,(PTOKEN_PRIVILEGES)NULL,&length);
    Далее сам вызов выглядит так :
    Code:
    ZwRaiseHardError(0x50000018,0,0,NULL,6,&resp);
    после вызова в resp возвращается значение 1 ну и соответственно BSOD'a нет.
    Наличие прав SE_SHUTDOWN_PRIVILEGE проверил функцией InitiateSystemShutdown , работает корректно.

    Ну и собственно вопрос : Может быть кто работал с этими возможностями данной функции, или я чего-то не знаю по правильности вызова, тогда буду рад ссылке/ключевым словам на какую-либо информацию.