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/
Hello all,
We have an exciting update to share - Plugfest 2023 will now also include Windows Server!
You will have access to Windows Server VMs hosted on Azure, to help you prepare your drivers for the next version of Windows Server by performing interoperability testing with other products. You may register a separate team dedicated to server or have one single team, as appropriate to your situation. The event will remain virtual, with no changes to the current schedule. To accommodate these changes, the registration deadline has been extended to Friday May 12, 2023 at 11:59PM Pacific Time.
Action Needed:
If you have already submitted the registration form and would like to extend your participation to include server, please complete the additional form linked below:
https://forms.office.com/r/L9GR4Qiyqp
If you haven’t registered for Plugfest 2023 yet, please use the original registration form below (it has been updated to reflect both Client and Server):
https://forms.office.com/r/CiAkCGJZkR
As a reminder, the event starts June 5th 2023 and we look forward to having you join us for this event. Please reach out to our coordinating PMs ([email protected]) or Olivia Chapman ([email protected]) if you have any questions.
Link to Original Discussion: https://community.osr.com/discussion/293789/filter-plugfest-2023
Hi Dejan
There are a couple of things that are contributing to some confusion here.
The first is that the currently available documentation doesn't do a great job of explaining that it is possible to enable bypass-IO on a file hosted on a volume where the filter stack supports bypass-IO, but the underlying storage stack does not. In such a scenario (which I suspect is what you're seeing), reads for bypass-IO enabled files will bypass the filter stack, but still be sent down the volume stack. I will file a documentation bug to better explain this.
The second is that FsUtil wasn't providing much help in understanding this. This has been addressed with more recent builds of Windows (this is output from one of my machines running Windows 11 22H2):
PS C:> fsutil.exe bypassio state c:
BypassIo on "c:\" is partially supported
Volume stack bypass is disabled (iaStorAVC.sys)
Storage Type: RAID
Storage Driver: Not BypassIo Compatible
Dave Buches
Windows CoreFS Dev
Hello! We are excited to announce that Plugfest 2023 is starting June 5th 2023!!
Since last year’s virtual Plugfest was such a success, Plugfest 2023 is going to continue to be virtual for 2023! Similar to last year, Plugfest 2023 will have VMs hosted on Azure to take the place of physical HW.
What is Plugfest?
The goal of Plugfest is to help you prepare your file system minifilter, network filter, or boot encryption driver for the next version of Windows by performing interoperability testing with other products.
When is Plugfest 2023?
Plugfest 2023 will take place in batches between Monday, June 5, 2023 and Friday June 9, 2023.
Who are we looking for to participate?
Independent Software Vendors (ISVs), developers writing file system minifilter drivers and/or network filter drivers for Windows.
How much does it cost?
FREE - There is no cost to attend this event.
Why should I go?
Here are four major benefits of Plugfest:
• The opportunity to test products extensively for interoperability with other vendors' products and with Microsoft products. This has traditionally been a great way to understand interoperability scenarios and flush out any interoperability-related bugs.
• Get exclusive talks and informative sessions organized by the File System Minifilter team about topics that affect the filter driver community.
• Great opportunity to meet with the file systems team, the network team, and various other teams at Microsoft and get answers to your unanswered technical questions.
• Early exposure to new hardware innovations, that affect filter functionality
How do I register?
Please fill out the registration form below and if you are selected to participate, you will hear back by Friday May 12th, 2023.
Full url link here - https://forms.office.com/r/CiAkCGJZkR
Registration for Plugfest 2023 will close on Friday May 5, 2023 at 11:59PM Pacific.
If you have any additional questions please email our coordinating PM, Olivia Chapman, at [email protected].
-The Microsoft File System Minifilter Team
As it took me most of a day to understand this is a bug in 22H2, I'll save you all the trouble: to use network debugging of hyper-v vms on an external switch (e.g. from your hyper-v host to the vm) , on W11 22H2 you have to disable the switch extensions that are enabled by default. Specifically Microsoft Azure VFP Switch Filter Extension and Microsoft NDIS Capture.
Failure symptoms: your vms have default 169.254 ip addresses.
Hi everyone.
I have been reading about UFX class extension for WDF.
https://learn.microsoft.com/en-us/windows-hardware/drivers/usbcon/function-client-driver
The only sample I saw "ufxclientsample" mention about installing it on Windows 10 Mobile.
Also, opening the sample, I saw it refers to header files I don't have on my WDK (10.0.22.621.382).
Can this kind of driver be built using regular WDK or do I need to get the environment for a BSP for WIndows Mobile?
Can it be installed on a regular Windows for desktop instead of Windows Mobile?
Regards,
What you’re doing isn’t commonly done… you don’t see it much outside the enterprise setting and, aside from that, is mostly used by those who are trying to “skirt the rules”… so, we don’t see a ton of these complaints here.
Peter
Hi,
I am writing an UMDF2 driver which accesses some legacy PCI board.
Besides reading and writing PCI bar memory this driver needs to handle occasional interrupts from the board.
For compatibility reasons the application needs to be notified about incoming interrupts knowing that these should be processed transparrently by the driver in an ideal worls.
Would it be possible to
* initialize the default queue with WdfIoQueueDispatchParallel
* Introduce an IOCTL WAIT_FOR_INTERRUPT
....
case WAIT_FOR_INTERRUPT:
// Store request in the device context so it can be completed later
// Do noting to mark request as pending, complete the request in the DPC of the interrupt
break;
case READ_REGISTER:
...
CASE WRITE_REGISTER:
and then have the application open a thread which issues a blocking IoControl with WAIT_FOR_INTERRUPT which only returns if the request is completed from the DPC routine handling the interrupt.
My question is:
If another thread of the application calls an IOControl request with e.g. READ_REGISTER, will this request be handled by the driver even though another request in the same queue is not completed? I have initialized the default queue as WdfIoQueueDispatchParallel, but does this mean that this request reaches the driver and can be completed emediatelly?
How does WdfIoQueueDispatchParallel relate to Overlapped IO?
Thank you and all the best!