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

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

).
этот фильтр драйвер написан на 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?
Извиняюсь, если совсем уж тупые вопросы задаю, моя студент и плохо понимать

Заранее благодарю за помощь.