Unloading drivers for filesystems

So when I started working on my FSD, I used devstudio to deploy the driver to the remove VM, then deploy it again for it to unload my driver and I could test the unloading routines, stepping through the code etc.

But recently I have noticed I can no longer unload, using either devstudio, or devcon.exe to uninstall will just result in a timeout period, followed by reboot.

So I went back to MS site and grabbed helloworld driver, only to find it also does not unload.

Did something change with devstudio or drivers that I missed? What am I doing wrong here.

My INF file - which I think might have something to do with it all - is here: https://github.com/openzfsonwindows/ZFSin/blob/master/ZFSin/ZFSin.inf (and probably wrong)

Being a dinosaur I don’t use this whole devstudio deploy thing (I use kdfiles) But I’ll note that by the time a FSD gets any sort of shape it is pretty much unloadable because stuff pinned in the cache requires that your driver stay around. I normally rely of VMWare snapshots and DEMAND start (plus, as I say kdfiles) to redeploy.

Ok so to update, we wrote a small installer.exe that when asked to uninstall will send a made up IOCTL to the kernel, which then calls zfs_ioc_unregister_fs();, this then allows us to unload the driver with DefaultUninstall.