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 need display some logo picture above all windows. This logo should never be overlapped by neither top level windows nor any other. I decided to try to implement the client application and display driver.
I started with KMDOD example project from Windows Driver Samples. I figured out how and where I can change "RGB content" of the output buffer. Then I implemented the interaction between client application and KMDOD. By interaction I mean receiving and storing required data. In my case "required data" is the size of the picture, the coordinates of the position and data buffer with RGB values of every pixel of logo. So far so well. Now I can change display logo from client application and KMDOD will draw it over every single window.
But I have some questiont and misunderstanding.
After installation this driver it replaced VM display driver and if I am correct it also will replace any vendor display driver in case of not virtual machine installation. Is it ok? Does it mean I lose some functionality given by video card vendors?
I suppose KMDOD driver works like "function driver" and it means that it will communicates directly with the device. But it seems that for my aim it is enough to have some filter driver, does not it? But I see from forum that people says that you can't just write a "filter driver" or it is difficult to do. But all this anweres without explanation why. Or probably I should load vendor driver myself. Is it possible? Does it make any sense?
I have read a lot of topics from this forum and oficial documentation. And I can see that display drivers are "something another" and have no relation to any other driver stack. Am I right that it is not useful for my aim to figure out deeply KMDF and UMDF and I should concentrate on WDDM?
Please, can someone clarify this? Thank you for your time and help.
|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!|
|Developing Minifilters||24 May 2021||Live, Online|
|Writing WDF Drivers||14 June 2021||Live, Online|
|Internals & Software Drivers||27 September 2021||Live, Online|
|Kernel Debugging||TBD 2021||Live, Online|