Как-то непонятно
Получается user mode приложение является частью драйвера? Т.е., я так понял, это драйвер-фильтр, фильтрует определенные запросы (на запись) по определенным правилам, так?
Тогда лучше в драйвере иметь таблицу правил, по которым будут запросы фильтроваться, а клиентское ПО будет только изменять эту таблицу (добавлять/удалять/редактировать правила).
А управление драйвером (т.е. работу с ним от клиентского ПО) надо делать через управляющие коды - как это обычно делается (во всех примерах). Можно конечно в цикле проверять общую (между драйвером и приложением) память на предмет изменений, но мне такой способ кажется крайне ненадежным.