Использую библеотеку "Four-F" то есть все

Тема в разделе "WASM.WIN32", создана пользователем ABC, 25 авг 2005.

  1. ABC

    ABC New Member

    Публикаций:
    0
    Регистрация:
    22 авг 2005
    Сообщения:
    92
    Проблема с ф-ций KeGetCurrentIrq1() из HAL.DLL



    В общем не могу понять что за синтаксис

    вот теперь насмотрелся на ваши исходники

    и теперь не знаю как вызвать свою ф-цию :dntknw:



    В общем проблема вот в чем...



    Использую библеотеку "Four-F" то есть все

    на асме и мне стала нужна ф-ция KeGetCurrentIrq1()

    которой в его библеотеки нет :dntknw:



    Теперь хочу вызвать самостоятельно но запутался

    посмотрел его код и вижу окончание



    KfLowerIrql@4

    KfRaiseIrql@4



    а здесь вобще восьмерка

    KeReleaseQueuedSpinLock@8





    Вот теперь пойми как её её вызвать

    с четверкой или восьмеркой или другое?





    Как подобные ф-ций вызывать?
     
  2. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    <font color="gray][ ABC</font><!--color--><font color="gray]: и мне стала нужна ф-ция KeGetCurrentIrq1() которой в его библеотеки нет :dntknw: ]</font><!--color-->



    KeGetCurrentIrq1 действительно нет, зато есть KeGetCurrentIrql ;)





    <font color="gray][ ABC</font><!--color--><font color="gray]: Вот теперь пойми как её её вызвать с четверкой или восьмеркой или другое? ]</font><!--color-->



    Без четверки и без восьмерки и читать про fastcall и декорирование имен функций. Я даже об этом писАл в 5-ой части.
    Код (Text):
    1. DriverEntry proc pDriverObject:PDRIVER_OBJECT, pusRegistryPath:PUNICODE_STRING
    2.  
    3. local Irql:DWORD
    4.  
    5.     invoke KeGetCurrentIrql
    6.     invoke DbgPrint, $CTA0("IRQL = %d\n"), eax
    7.  
    8.     fastcall KfRaiseIrql, DISPATCH_LEVEL
    9.     mov Irql, eax
    10.  
    11.     invoke KeGetCurrentIrql
    12.     invoke DbgPrint, $CTA0("IRQL = %d\n"), eax
    13.  
    14.     ;; . . .
    15.  
    16.     fastcall KfLowerIrql, Irql
    17.  
    18.     invoke KeGetCurrentIrql
    19.     invoke DbgPrint, $CTA0("IRQL = %d\n"), eax
    20.  
    21.     mov eax, STATUS_DEVICE_CONFIGURATION_ERROR
    22.     ret
    23.  
    24. DriverEntry endp
     
  3. Skif

    Skif New Member

    Публикаций:
    0
    Регистрация:
    31 дек 2003
    Сообщения:
    55
    Долго и вдумчиво, до полного просветления читать документацию про calling conventions (stdcall, cdecl, fastcall) и name mangling.