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


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:

Calling FltDeviceIoControlFile in instance setup

Ehsan_TaheriEhsan_Taheri Member Posts: 190

I want to determine if a volume bus type is usb or not.
As I found out i shoud send IOCTL_STORAGE_QUERY_PROPERTY down in my instance setup and set a context for the instance for later use.
But what is the correct way of sending IOCTL in instance setup?

can I use FltDeviceIoControlFile ? the documentation says for the second parameter (File object pointer for the file or device that is the target of this request.) what should i pass to it and how to obtain it?
or I should go with IoBuildDeviceIoControlRequest and DeviceIoControl?


  • Koby_KahaneKoby_Kahane Member Posts: 15

    From your Instance Setup callback, you can obtain a file object for the volume by calling FltOpenVolume with FltObjects->Instance from the FltObjects structure passed to the callback and subsequently invoke FltDeviceIoControlFile with FltObjects->Instance and the previously obtained volume file object.

  • Ehsan_TaheriEhsan_Taheri Member Posts: 190


Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

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!
Writing WDF Drivers 12 September 2022 Live, Online
Internals & Software Drivers 23 October 2022 Live, Online
Kernel Debugging 14 November 2022 Live, Online
Developing Minifilters 5 December 2022 Live, Online