First of all, LSP’s are deprecated starting with Windows 8. That doesn’t necessarily mean that they won’t work, but they are certainly on the way out. There are some HCK tests that explicitly check for “no TDI and no LSP”.
Many WFP callouts include fairly rich meta-data that identifies caller process information, etc. You should be able to invent an I/O scheme that allow your app to inform your WFP driver of its process information, which should allow your WFP driver to know what to do.
PsSetCreateProcessNotifyRoutineEx and friends may also help you in process tracking even without adding an app<->driver communication path.
Should be doable, except for the user interaction. There you would need your application’s help.
No, I haven’t done it, so your mileage may vary…
Good luck!
Thomas F. Divine
http://www.pcausa.com
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Adrien de Croy
Sent: Wednesday, January 8, 2014 4:58 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] WFP and user-mode
Hi all
we’re looking at WFP to replace a current LSP project.
Currently the LSP relies on the fact that it’s loaded in the user context, so has:
* ability to auth using SSPI with our server using current windows user credentials
* ability to pop up a dialog to the user running the winsock app (e.g. login creds dialog, warning, message etc)
The WFP docs state that WFP is intended to allow replacing LSP with WFP apps/drivers/whathaveyou
My question is, is there any way to get access back to the user that is running the application?
I presume from a WFP callout driver in the kernel, you can no longer rely on being in the context of any user thread (e.g. may be in rescheduled kernel worker thread?).
So is there any way to get callouts from user mode? Presumably the ipsec and RPC runtime filters do this, and are registered somehow with the Base Filtering Engine.
Alternatively, if you can rely on being in the user context even only at a not-particularly useful level, could you get say the user window station, and pass that back to some user mode service to push a dialog into that window station?
Or am I stuck with an LSP approach for this?
Thanks in advance.
Adrien
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer