Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results
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/
I am writing a filter driver (KMDF) which needs to initiate its own reading of the underlying device for our purpose. I have a EvtWdfDeviceFileCreate/EvtFileClose callback to track the fileobject creation/deletion and plan to use these file object(s) when reading the device. I am using WdfRequestCreate to create a new framework request, allocated a framework memory and use WdfIoTargetFormatRequestForRead. However, how do I set appropriate file object (I know which one to use) for the newly created request before sending it down the stack?
Thanks
JSL
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 |
Comments
Two choices
1) open a new WDFIOTARGET via WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE and then manually set WDF_IO_TARGET_OPEN_PARAMS::TargetFileObject.
2) Use the default io target and then after each format call, get the irp, get the next stack location and set stack->FileObject
I would think 1) is the easier choice, but it is up to you