ассемблер+драйвер 32бита

Тема в разделе "WASM.BEGINNERS", создана пользователем punxer, 19 авг 2010.

  1. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Код (Text):
    1. NTSTATUS
    2. MJ_DispatchIoctl(
    3.     IN  PDEVICE_OBJECT  DeviceObject,
    4.     IN  PIRP            Irp
    5.     )
    6.  
    7. {
    8.     PIO_STACK_LOCATION      irpStack;
    9.     NTSTATUS                status= STATUS_SUCCESS;
    10.  
    11.     irpStack = IoGetCurrentIrpStackLocation (Irp);
    12.     switch (irpStack->Parameters.DeviceIoControl.IoControlCode)
    13.     {
    14.     case 1:
    15.         _asm
    16.         {
    17.             out 0x64, 0xd2
    18.             out 0x60, 0x20
    19.         }
    20.         DbgPrint("IOCTL CODE PASSED");
    21.         break;
    22.     default:
    23.         break;
    24.    
    25.     };
    26.     Irp->IoStatus.Status = status;
    27.     IoCompleteRequest (Irp, IO_NO_INCREMENT);
    28.  
    29.     return status;
    30. }
    ошибки на двух строках ассемблера:
    1>.\main.c(31) : error C2415: improper operand type
    1>.\main.c(32) : error C2415: improper operand type
     
  2. make

    make New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2009
    Сообщения:
    59
    Советую почитать про инструкции in/out.
    Hint: WRITE_PORT_UCHAR
     
  3. Treant

    Treant Member

    Публикаций:
    0
    Регистрация:
    24 май 2009
    Сообщения:
    248
    через регистры попробуйте
     
  4. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    make
    спасибо
     
  5. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    а как так сэмулировать кнопку виндовс?
     
  6. make

    make New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2009
    Сообщения:
    59
  7. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    makeнепонятен вопрос?