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

Home NTDEV

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/


Setting FileObject for a WDFREQUEST

JSLJSL Member Posts: 9

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

Comments

  • Doron_HolanDoron_Holan Member - All Emails Posts: 10,706

    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

    d
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!
Internals & Software Drivers 7 February 2022 Live, Online
Kernel Debugging 21 March 2022 Live, Online
Developing Minifilters 23 May 2022 Live, Online
Writing WDF Drivers 12 September 2022 Live, Online