So I wan't to create my own kernel streaming driver. However, I do not want to be in kernel mode. I want to use AvStream (ks.h) and PortCls (portcls.h) though. I also need to use some stuff from Ntoskrnl (wdm.h). Is this possible? Or should I be in kernel mode and have a dll above my driver that can be used in applications?
It looks like you know enough to already have your answer, that's basic ring security stuff. If you are looking for some kind of shortcut then I'm sorry to say that there's no easy mode here. But if your concern is stability then use a VM. Strike that, use a VM whether or not you're concerned about system stability. Also make sure that you set your project up in C and not C++.