Я пишу часть программного обеспечения, состоящую из драйвера режима ядра и службы Windows пользовательского режима. Драйвер ядра должен уведомлять службу о различных событиях и информации, которые служба затем будет обрабатывать.
У меня такой вопрос: Как лучше всего наладить это общение? Я знаю, что можно получить сообщение от ядра с помощью минифильтра и FilterGetMessage (), но для этого потребуется опрос ядра на предмет новых данных. Мне нужна система, которая позволяет ядру уведомлять службу о появлении новых данных для обработки.
Кстати, сама служба использует шаблон «производитель-потребитель», поэтому будет поток, предназначенный только для получения данных от ядра и помещения их в очередь для обработки другим набором рабочих потоков. Также приветствуются любые мысли по поводу этого дизайна.