Отправка значения из режима ядра в пользовательский режим

Я разрабатываю драйвер режима ядра для антивирусной программы, но у меня возникла проблема в разделе «Драйверы».

Я хочу отправить строковое значение (например, «String») из драйвера режима ядра в приложение пользовательского режима. может ли кто-нибудь помочь мне сделать это?


person Behrooz    schedule 04.10.2013    source источник


Ответы (2)


Этот вопрос был задан давно, и я надеюсь, что вы нашли решение. Я публикую это решение, так как его не было.

Это зависит от того, как вы хотите отправить строку клиентскому приложению пользовательского режима.

Одним из способов является команда IOCTL. Вы вводите простую команду IOCTL с METHOD_BUFFERED (при условии, что строка представляет собой небольшой объем данных) и вуаля, все готово.

Другой способ - заставить клиента ждать события и заставить драйвер запускать событие, когда эта строка доступна для драйвера ядра. Затем, когда ожидание в приложении пользовательского режима закончится, вы получите данные. (конечно, если не истекло время ожидания или многое другое)

person Community    schedule 08.04.2014

Здесь определена функция copy_to_user include/asm/uaccess.h. С его помощью вы можете безопасно копировать данные из режима ядра в пользовательский режим.

person Pirate    schedule 01.08.2019