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

Home NTDEV

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/


Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

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,682

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