Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTFSD
Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


Unloading drivers for filesystems

Jorgen_LundmanJorgen_Lundman Member - All Emails Posts: 47

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)

Comments

  • rod_widdowsonrod_widdowson Member - All Emails Posts: 1,151

    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.

  • Jorgen_LundmanJorgen_Lundman Member - All Emails Posts: 47

    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.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Kernel Debugging 30 Mar 2020 OSR Seminar Space
Developing Minifilters 15 Jun 2020 LIVE ONLINE
Writing WDF Drivers 22 June 2020 LIVE ONLINE
Internals & Software Drivers 28 Sept 2020 Dulles, VA