是否有必要编写一个内核模式驱动来监视HTTP流量?

Is it necessary to write a kernel-mode driver to monitor HTTP traffic?

I'm writing a module for a download manager which monitors HTTP traffic and notifies main module when HTTP stream meets certain conditions.

Going through MSDN, I realize I have to use WFP. So I create a project and write a module that installs my provider and add a callout. Everything is working great until I find out that I have to use FwpsCalloutRegister0 which is defined in Fwpsk.h. Including Fwpsk.h gives a header not found error because it's a header available in WDK which means FwpsCalloutRegister0 is a kernel-mode function. So I can't use it in a user-mode application, right?

I know that writing a driver is difficult for the first time. Is there any other approaches that can solve my problem or do I have to write a driver?

P.S LSP isn't what I'm looking for because it's deprecated.

Update:

There are other download managers that offer a solution for this problem. For example Internet Download Manager and Free Download Manager. I don't know what their approaches are.