почему AdjustTokenPrivileges возвращает ноль

Тема в разделе "WASM.WIN32", создана пользователем pas, 23 май 2006.

  1. pas

    pas New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2003
    Сообщения:
    330
    Адрес:
    Russia
    Всем приветы.

    Не могу понять, почему AdjustTokenPrivileges возвращает ноль. последняя ошибка 988 (вроде не может получить доступ к памяти)

    Структуры определяю так:

    struc LUID_AND_ATTRIBUTES

    {

    .Luid dd 0,0

    .Attributes dd 2

    };LUID_AND_ATTRIBUTES

    ;ends

    struc TOKEN_PRIVILEGES

    {

    .PrivilegeCount dd 1

    .Privileges LUID_AND_ATTRIBUTES

    .size = $ - .PrivilegeCount

    };TOKEN_PRIVILEGES

    ;ends

    ........

    SE_SHUTDOWN_NAME db "SeShutdownPrivilege",0



    invoke GetCurrentProcess

    mov [prH],eax

    invoke OpenProcessToken,eax,0,hT

    invoke LookupPrivilegeValue,0,SE_SHUTDOWN_NAME,rtp.Privileges.Luid

    invoke AdjustTokenPrivileges,[hT],0,rtp,0,0,0

    invoke GetLastError

    stdcall IntToString,nd,eax

    invoke MessageBox,0,nd,nd,MB_OK

    invoke ExitProcess,[msg.wParam]



    Написано под Фасм. Прога консольная.

    Win2000
     
  2. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    Кажется так:
    Код (Text):
    1. TOKEN_QUERY = 0x08
    2. TOKEN_ADJUST_PRIVILEGES = 0x20
    3.  
    4. invoke OpenProcessToken,eax,TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY,hT
     
  3. pas

    pas New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2003
    Сообщения:
    330
    Адрес:
    Russia
    Спасибо, но результат тот же. Ошибка на AdjustTokenPrivileges. Остальные (до нее) возвращают не ноль.
     
  4. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    Это потому что ты не показал весь код ;) выровняй ещё rtp (align 4)
     
  5. pas

    pas New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2003
    Сообщения:
    330
    Адрес:
    Russia
    Большое спасибо. Поставил align 4 и все окей.