NdisAllocateMemoryWithTag(&pChecksum,tcphdrlen,TAG);
此申请内存语句!但是一直蓝屏!不知道为什么!
DRIVER_CORRUPTED_EXPOOL (c5)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high. This is
caused by drivers that have corrupted the system pool. Run the driver
verifier against any new (or suspect) drivers, and if that doesn't turn up
the culprit, then use gflags to enable special pool.
Arguments:
Arg1: 00000004, memory referenced
Arg2: 00000002, IRQL
Arg3: 00000001, value 0 = read operation, 1 = write operation
Arg4: 805456f3, address which referenced memory
Debugging Details:
------------------
BUGCHECK_STR: 0xC5_2
CURRENT_IRQL: 2
FAULTING_IP:
nt!ExAllocatePoolWithTag+673
805456f3 897104 mov dword ptr [ecx+4],esi
DEFAULT_BUCKET_ID: DRIVER_FAULT
ErrCode = 00000002
eax=8133f628 ebx=8055b6c0 ecx=00000000 edx=000000c0 esi=8055c0c0 edi=000001ff
eip=805456f3 esp=f9dc74e0 ebp=f9dc7534 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010202
nt!ExAllocatePoolWithTag+0x673:
805456f3 897104 mov dword ptr [ecx+4],esi ds:0023:00000004=????????
Resetting default scope
LAST_CONTROL_TRANSFER: from 804f880d to 80527da8
STACK_TEXT:
f9dc7020 804f880d 00000003 f9dc737c 00000000 nt!RtlpBreakWithStatusInstruction
f9dc706c 804f93fa 00000003 00000004 805456f3 nt!KiBugCheckDebugBreak+0x19
f9dc744c 80540853 0000000a 00000004 00000002 nt!KeBugCheck2+0x574
f9dc744c 805456f3 0000000a 00000004 00000002 nt!KiTrap0E+0x233
f9dc7534 f76800e0 00000000 00000001 496d5061 nt!ExAllocatePoolWithTag+0x673
楼主辛苦了,在DISPATCH_LEVEL级别只能分配NonPaged内存,是不是这里有问题?
谢谢了!
我已经测试了!用ExAllocatePoolWithTag(NonPagedPool 这个进行测试的!..同样也出现问题!
函数前没加非分页内存的申明吧,#pragma INTCODE