I beleive the first thing you need to read is "Microsoft Windows Internals" it has a chapter on networking internals. You will get to know the architecture of the windows networking stack from that chapter, also you will be able to identify/decide , where you want to place the firewall and what will be the artcitecture of your firewall.

Then Grab Microsoft DDK / Numega Driver Studio and start looking at the header files for structures and APIs(APIs sometimes reveal more than you expect).


Anyways here is something else which can be more useful to you.
http://programmerworld.net/personal/firewall.htm