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:

Bypass i/o support query APIs

Dejan_MaksimovicDejan_Maksimovic Member - All Emails Posts: 611

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.


  • 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: 611
    via Email

    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_MaksimovicDejan_Maksimovic Member - All Emails Posts: 611
    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

    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: 611
    via Email
    Many thanks, Dave! That concludes the API baaed check the feature works!
  • ValZapodValZapod Member Posts: 2
    Wow. secnvme.sys which is just driver Samsung provides is also partially compatible, "Volume stack bypass is disabled".

    Had to uninstall it and it works now fully.
  • ValZapodValZapod Member Posts: 2
    Same happens with EhStorClass.sys, whatever that is
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!
Kernel Debugging 13-17 May 2024 Live, Online
Developing Minifilters 1-5 Apr 2024 Live, Online
Internals & Software Drivers 11-15 Mar 2024 Live, Online
Writing WDF Drivers 26 Feb - 1 Mar 2024 Live, Online