I use nids 6 filter driver on Win7X86 to send my customize data to mini port. My code is base on MS sample code and main process as:
- In FilterSendNetBufferLists fucton, find the NBL which i want to modify.
- Copy this NBL and modify copy data.
- Call NdisFSendNetBufferListsComplete to original NBL.
- Call NdisFSendNetBufferLists to send copy data which create in steo 2.
- In FilterSendNetBufferListsComplete function, check if this NBL is I created then delete and free it. if this NBL is system data jus call NdisFSendNetBufferListsComplete funcion.
In my test scenes?if i send my customize data, especially if this data is TCP packet, the system will be random blue screen(DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)). VS debug show last execute function is NdisFSendNetBufferListsComplete in step 5. I don’t understand in step 5 NdisFSendNetBufferListsComplete process system data(Check this data is valid), this data i never touched, why crash here?
My scenes is same as this
http://www.osronline.com/showThread.CFM?link=225261
but no solution for it.
I am dead end too and crazy, so ask help again, can spmebody help me, so thanks…