win syscall : args

Тема в разделе "WASM.BEGINNERS", создана пользователем init, 16 ноя 2009.

  1. init

    init New Member

    Публикаций:
    0
    Регистрация:
    18 ноя 2008
    Сообщения:
    5
    Здравствуйте. Всем доброго времени суток.

    У меня есть кусочек кода
    Код (Text):
    1. ULONG  ncall = 0x019 // CloseHandle
    2. __declspec(naked)NTSTATUS
    3. __stdcall
    4. syscall(ULONG a1,ULONG a2,ULONG a3,)
    5. {
    6.     __asm {
    7.         mov eax, ncall
    8.         call FastSystemCall
    9.         ret 0xс
    10.         FastSystemCall:
    11.             mov edx, esp
    12.             sysenter
    13.             ret
    14.         }    
    15. }
    Собсвенно вопрос: как поведет себя ядерный обработчик при таком вызове
    Код (Text):
    1. syscall(0x28,0xfadec0de,0xffffffff);
    Как я понимаю на обработку пойдет только первый аргумент(0x28), второй и третий будут "отброшены"?