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/


Bypass i/o support query APIs

Dejan_MaksimovicDejan_Maksimovic Member - All Emails Posts: 544
Hello,

I am trying to query (via API) if both the filter and storage stacks support BypassIo.
However, when only the volume/storage don't support it (no NVMe disk), I get no failure in the API. Neither in the DIOC/FSCTL API return code nor the outputData.Query.Status. I tried using the file handle and the volume handle and also to send IOCTL and not FSCTL on a disk handle.

How do I make the query and get results like fsutil bypassio state does?

Regards, Dejan.

Comments

  • Dave_BuchesDave_Buches Member Posts: 6

    Hi Dejan-

    Fsutil uses the documented FSCTL_MANAGE_BYPASS_IO IOCTL to query BypassIO support for a given volume. Can you please post the output from fsutil bypassio state <driveletter> /v from the system in question?

    Thanks in advance,
    Dave Buches
    Windows CoreFS Dev

  • Dejan_MaksimovicDejan_Maksimovic Member - All Emails Posts: 544
    via Email
    Hello,

    This is the output:
    BypassIo on "C:\Users\Dejan\Desktop" is supported.
    Storage Type: SATA
    Storage Driver: Not BypassIo Compatible
    Driver Name: volmgr.sys

    It is this volmgr.sys that I am curious about. Even BPIO enable IOCTL
    succeeds on this system for a file, no errors at all. But obviously it
    would not work.

    Dejan.
  • Dejan_MaksimovicDejan_Maksimovic Member - All Emails Posts: 544
    via Email
    Hello, Dave,

    Thanks, that partially explains the output.
    Which API/IOCTL can we use to query the volume stack for BPIO support? I
    have tried using the BPIO query IOCTL (not FSCTL) but it does not fail
    either.

    Regards, Dejan.
  • Dave_BuchesDave_Buches Member Posts: 6

    Hi Dejan

    If the volume stack supports BPIO, you should see the FSBPIO_OUTFL_COMPATIBLE_STORAGE_DRIVER bit inFS_BPIO_OUTPUT::OutFlags for FS_BPIO_OP_ENABLE, FS_BPIO_OP_QUERY, andFS_BPIO_OP_GET_INFO operations.

    Dave Buches
    Windows CoreFS Dev

  • Dejan_MaksimovicDejan_Maksimovic Member - All Emails Posts: 544
    via Email
    Many thanks, Dave! That concludes the API baaed check the feature works!
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 19-23 June 2023 Live, Online
Writing WDF Drivers 10-14 July 2023 Live, Online
Kernel Debugging 16-20 October 2023 Live, Online
Developing Minifilters 13-17 November 2023 Live, Online