Здравствуйте! Прошу помощи. 

В процессе написания диплома возникла необходимость написать сетевой драйвер на асме. Начитался статей и примеров, стал подводить под свои задачи и застопорился на доступе к содержимому (и к заголовку, и к данным) проходящих через драйвер пакетов. 

Что я имею:
   вот функция фильтрации пакетов (спасибо van за статью):
   hookproc proc   PacketHeader:DWORD,
         Packet:DWORD,
         PacketLength:WORD,
              RecvInterfaceIndex:WORD,
         SendInterfaceIndex:WORD,
         RecvLinkNextHop:DWORD,
              SendLinkNextHop:DWORD
   пропускающая (возможно с модификацией) или тормозящая пакет.
Итак вопрос:  

   1) как на основе параметров данной функции получить адрес отправителя или получателя пакета и в каком формате он предоставляется (нужно сравнивать адреса отправителей (получателей)) - как работать с этими параметрами;
   2) как получить доступ непосредственно к данным в пакете.
Если кто что подскажет, подкинет пример, ссылку или литературу, то буду очень признателен.