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/
I want to design my software on multiple drivers but I have a big question about designing to communicate between drivers to avoid iterative operation.
how do design drivers to share data that needs all drivers?
1- I create shared memory on the kernel but what happens on the different interrupt request levels?
2- I shared data on user mode and communicate with all drivers on shared data on user mode?
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 |
Comments
Send Requests from Driver X to Driver Y. Or use Bus Interfaces for callbacks (described here).
Peter Viscarola
OSR
@OSRDrivers
What happened on request from different dispatch level drivers?
I do not understand your question.
Peter
Peter Viscarola
OSR
@OSRDrivers
If you are developing the driver and defining the interface, then YOU get to establish the contract. If you want drivers to call you only as PASSIVE_LEVEL, then that's how you define the interface. If you want to accept requests from dispatch, then your driver has to be smarter about what it does when it receives the request.
Tim Roberts, [email protected]
Providenza & Boekelheide, Inc.
I don’t understand the question even a little.
Receiving Requests at IRQL DISPATCH_LEVEL is a regular thing. It’s the default contract in WDF.
OP needs to put some more effort into clarity, so we can continue to put effort into helping him.
Peter Viscarola
OSR
@OSRDrivers
I used "Callbacks method" and my "Mini-filter" driver speaks with my "WFP" driver and vice versa.
OK... so you're good now?
Excellent. Glad we could help.
Peter
Peter Viscarola
OSR
@OSRDrivers