欢迎来到天天文库
浏览记录
ID:9509270
大小:85.00 KB
页数:15页
时间:2018-05-01
《windows软件防火墙实现技术简述》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Windows软件防火墙实现技术简述~教育资源库 从emory(BogusProtocol,sizeof(NDIS_PROTOCOL_CHARACTERISTICS)); BogusProtocol.MajorNdisVersion=0x04; BogusProtocol.MinorNdisVersion=0x0; NdisInitUnicodeString(ProtocolName,LBogusProtocol); BogusProtocol.Name=ProtocolName; BogusProtocol.Rece
2、iveHandler=DummyNDISProtocolReceive; BogusProtocol.BindAdapterHandler=dummyptbindadapt; BogusProtocol.UnbindAdapterHandler=dummyptunbindadapt; NdisRegisterProtocol(Status,hBogusProtocol,BogusProtocol, sizeof(NDIS_PROTOCOL_CHARACTERISTICS)); if(Status==STATUS_SU
3、CCESS){returnhBogusProtocol;} else{#ifdefbydbg DbgPrint(ndishook:cannotregisterbogusprotocol:%x,Status); DbgBreakPoint();#endif returnNULL; }} 得到这个ndisprotocol的链表后,遍历表中的每一个ndisprotocol,对于每一个ndisprotocol,又各有一个链表,用来描述和该ndisprotocol有联系的所有ndisminiport和该ndispro
4、tocol绑定的状态。每个这种状态块,叫做一个ndisopenblock。每个绑定的send(packets)handler和receive(packet)handler都在这个ndisopenblock里面。struct_NDIS_OPEN_BLOCK{#ifdef__cplusplus NDIS_MON_OPEN_BLOCKNdismonOpenBlock;#else NDIS_MON_OPEN_BLOCK;#endif#ifdefined(NDIS_WRAPPER) // //12345下一页友情提醒:,特别!T
5、hestuffbeloiniport PNDIS_PROTOCOL_BLOCK ProtocolHandle; //pointertoourprotocol NDIS_HANDLE ProtocolBindingContext;//contextiniport BOOLEAN Reserved1; BOOLEAN Reserved2; BOOLEAN Reserved3; BOOLEAN Reserved4; PNDIS_S
6、TRING BindDeviceName; KSPIN_LOCK Reserved5; PNDIS_STRING RootDeviceName; // //Thesearereferencedbythemacrosusedbyprotocolstocall. //AlloftheonesreferencedbythemacrosareinternalNDIShandlersfortheminiports // union { SEND_HANDLER Se
7、ndHandler; oreCachedHandlers // RESET_HANDLER ResetHandler; REQUEST_HANDLER RequestHandler; RESET_PLETE_HANDLER ResetpleteHandler; STATUS_HANDLER StatusHandler; STATUS_PLETE_HANDLER StatuspleteHandler; #ifdefined(NDIS_ON_OPEN_BLOCK; 需要处理
8、的,是ndisopenblock里面的SendHandler,ReceiveHandler,WanReceiveHandler,ReceivePacketHandler和SendPacketsHandler。 一定要注意的是,不同于很多文章中的描
此文档下载收益归作者所有