Сообщение из драйвера

Тема в разделе "WASM.WIN32", создана пользователем GLEB, 2 ноя 2008.

  1. GLEB

    GLEB New Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2007
    Сообщения:
    83
    Как из драйвера передать какое либо сообщение пользовательскому приложению?

    Ну например как у антихакера Касперского всплывает окошко о подозрительном действии и т.д.
     
  2. Exp10der

    Exp10der Мастер дзена

    Публикаций:
    0
    Регистрация:
    27 авг 2007
    Сообщения:
    337
    Адрес:
    Красноярск
    http://www.wasm.ru/article.php?article=drvw2k14
     
  3. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    http://www.codeproject.com/KB/system/driveguicomm.aspx?display=PrintAll&fid=3527&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=994869&fr=26
     
  4. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
    NtDeviceIoControlFile.
     
  5. Osen

    Osen Рие

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    283
    Адрес:
    Париж
    GLEB
    Создается мутекс либо в r3, либо в r0, потом r3-приложение ждет на мутексе пока драйвер его не просигналит.
     
  6. Ra_Sh

    Ra_Sh New Member

    Публикаций:
    0
    Регистрация:
    23 сен 2008
    Сообщения:
    46
  7. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    CrystalIC
    ровно наоборот - оно используется для коммуникации от приложения к драйверу.
    а чтобы передать сигнал от драйвера в приложение - евент и разделяемая память или LPC.
    PS. Уже обсуждалось
     
  8. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
    Great
    Ну да, точно. Я толком вопрос не прочитал. Этот сервис киса юзает когда кнопочки на её окошках юзаются.)
     
  9. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    Можно с EVENT/KEVENT, но по-взрослому делается через IOControl/Read/Write который драйвер обслуживает асинхронно.

    DDK:

    IoMarkIrpPending(irp);
    IoCompleteRequest(irp, IO_NO_INCREMENT);

    IoCsqInitialize()
    IoCsqInsertIrp()