Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: kmdf + umdf  (Прочитано 5283 раз)
0 Пользователей и 1 Гость смотрят эту тему.
itakethisname
Интересующийся

eu
Offline Offline

« : 21-05-2010 12:06 » 

Здравствуйте,
Подскажите пожалуйста как возможно организовать взаимодействие между имеющимся kmdf драйвером и в будущем написанном umdf драйвером.
На данном этапе хочется к имеющемуся kmdf фильтр-драйверу подцепить umdf драйвер, чтобы по определённому  IOCTL  запросу umdf драйвер выполнял действия и отдавал результат обратно в kmdf.
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 21-05-2010 14:11 » 

Я вот не совсем понимаю, что означает  "подцепить драйвер к драйверу". Собственно и проблема неясна. Ну шлем какому-то девайсу IRP_MJ_INTERNAL_DEVICE_CONTROL, и собственно получаем результат.
Записан
itakethisname
Интересующийся

eu
Offline Offline

« Ответ #2 : 21-05-2010 14:42 » 

я совсем новичок в драйверах, поэтому возможно задаю глупые вопросы Улыбаюсь

ситуация такова: необходимо минимизировать действия пользователя при работе с драйвером.
существует фильтр драйвер который устанавливается через девайс менеджер заменой микрософтовского драйвера, тем не менее он использует микрософтовский драйвер(так на всякий случай Улыбаюсь ).

этот фильтр драйвер написан на kmdf, соответственно хочется чтобы при установке этого kmdf фильтр драйвера, был установлен ещё и драйвер написанный на umdf. (возможно, это возможно сделать написав должным образом inf файл kmdf фильтр драйвера) (не хочется чтобы этот umdf драйвер был фильтр драйвером для kmdf драйвера - это снизит скорость работы)

соответственно необходимо как-то поднять umdf драйвер, и понять как обращаться к нему из kmdf драйвера. в этом у меня вопрос.

"как обратиться к umdf из kmdf":
WDF_OBJECT_ATTRIBUTES  attributes;
WDFREQUEST newRequest;
WDFIOTARGET ioTarget;

status = WdfIoTargetCreate(Device, WDF_NO_OBJECT_ATTRIBUTES, &ioTarget);
  …
WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.ParentObject = ioTarget;

status = WdfRequestCreate(&attributes, ioTarget, &newRequest);

if (!NT_SUCCESS(status)) {
    return status;
}

Но как получить Device перед вызовом WdfIoTargetCreate?

Извиняюсь, если совсем уж тупые вопросы задаю, моя студент и плохо понимать Улыбаюсь
Заранее благодарю за помощь.

Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 23-05-2010 08:21 » 

могу ошибаться, но на мой взгляд проще всего создавать именованный объект устройства, и получать указатель на его объект через символическую ссылку или GUID.

PS а сакральный смысл связки из из двух драйверов - я не понял) то есть я вообще  ничего не понял)
« Последнее редактирование: 23-05-2010 08:25 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines