locked
WFP Callout Design Question RRS feed

  • Question

  • Hello,

    I have got a design question on how to build a communication between a callout driver and my main programm in user mode.
    To illustrate my question I have painted a simple image which can be found here: http://rene.svrider.de/WFP_Question.jpg
    I will now reference to this image to explain my design question.

    The Stream Edit example from the WFP Team shows how to make a Out of Band editing with a kernel mode thread. This thread can also be configured to run in user mode but this thread is furthermore liked to the driver and not to the user mode application which is inside the pointed area on the image.

    My question is: How can I build a link for my callout driver that I can easily communicate with my main program? In the image I have painted such a link with the label "Callout Driver Functions should here located". The reason of all is, that the callout driver should make a deep stream inspection and if the callout find the content he searched for, he should query the main programm what to do with the content. In my eyes the best solution is a link inside the pointed area to a component of my main programm in user mode. But how can this be build. (Hopefully without Inter Process Comunication)

    Thanks
    Novan
    Thursday, June 11, 2009 12:40 PM

Answers

  • Hi Novan,

    Kernel mode drivers can communicate with user mode components using a varity methods such as IRP, local sockets, ETW providers, and etc. And the details on user<->kernel communication is outside the scope of this forum. I belive books such as "Programming the Microsoft® Windows® Driver Model" can be a good starting point for this topic.

    That said, to ease the task of user<->kenel communication, In Windows 7 we added connection redirect support such that an entire connection can be redirected to a user-mode socket for inspection and the inspected content be transmitted to the final destination using a separate user mode socket.

    you can review the "What's new in Windows 7" doc at the top of this forum for for details on the ALE_CONNECT_REDIRECT layers.

    Hope this helps,
    Biao.W.

    • Marked as answer by Novan Wednesday, July 15, 2009 2:59 PM
    Tuesday, June 23, 2009 3:50 AM