阅读:1691回复:5
[求助]sfilter代码,在SfCleanupClose中加了一句调用SfDisplayCreateName,就蓝屏了
sfilter的其他代码都没用改动过,只在SfCleanupClose中函数中加了一句SfDisplayCreateFileName( Irp ); 就蓝屏了。
下面是我的SfCleanupClose,大家请指教,帮一下新手吧。谢了 NTSTATUS SfCleanupClose ( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp ) { NTSTATUS status; PAGED_CODE(); VALIDATE_IRQL(Irp); if (IS_MY_CONTROL_DEVICE_OBJECT(DeviceObject)) { Irp->IoStatus.Status = STATUS_SUCCESS; Irp->IoStatus.Information = 0; IoCompleteRequest( Irp, IO_NO_INCREMENT ); return STATUS_SUCCESS; } ASSERT(IS_MY_DEVICE_OBJECT( DeviceObject )); SfDisplayCreateFileName( Irp ); //**********************这一句是我自己加的 IoSkipCurrentIrpStackLocation( Irp ); return IoCallDriver( ((PSFILTER_DEVICE_EXTENSION) DeviceObject->DeviceExtension)->AttachedToDeviceObject, Irp ); } |
|
沙发#
发布于:2009-12-10 15:54
顶起来,继续求助
|
|
板凳#
发布于:2009-12-11 09:16
顶起来,求助
|
|
地板#
发布于:2009-12-11 10:42
这儿有错误信息,哪位热心人帮忙一下呀,我是新手
kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* PAGE_FAULT_IN_NONPAGED_AREA (50) Invalid system memory was referenced. This cannot be protected by try-except, it must be protected by a Probe. Typically the address is just plain bad or it is pointing at freed memory. Arguments: Arg1: bad0b148, memory referenced. Arg2: 00000000, value 0 = read operation, 1 = write operation. Arg3: 8092b6e2, If non-zero, the instruction address which referenced the bad memory address. Arg4: 00000000, (reserved) Debugging Details: ------------------ READ_ADDRESS: bad0b148 FAULTING_IP: nt!ObpRemoveObjectRoutine+c4 8092b6e2 3918 cmp dword ptr [eax],ebx MM_INTERNAL_CODE: 0 DEFAULT_BUCKET_ID: DRIVER_FAULT BUGCHECK_STR: 0x50 PROCESS_NAME: System CURRENT_IRQL: 1 TRAP_FRAME: f78c2ce4 -- (.trap 0xfffffffff78c2ce4) ErrCode = 00000000 eax=bad0b148 ebx=00000000 ecx=8246e028 edx=00000000 esi=00000000 edi=00000000 eip=8092b6e2 esp=f78c2d58 ebp=f78c2d68 iopl=0 nv up ei ng nz na pe nc cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010286 nt!ObpRemoveObjectRoutine+0xc4: 8092b6e2 3918 cmp dword ptr [eax],ebx ds:0023:bad0b148=???????? Resetting default scope LAST_CONTROL_TRANSFER: from 80825b3b to 8086cf14 STACK_TEXT: f78c2854 80825b3b 00000003 bad0b148 00000000 nt!RtlpBreakWithStatusInstruction f78c28a0 80826a2f 00000003 c05d6858 82595b40 nt!KiBugCheckDebugBreak+0x19 f78c2c38 80826dc7 00000050 bad0b148 00000000 nt!KeBugCheck2+0x5d1 f78c2c58 8085a507 00000050 bad0b148 00000000 nt!KeBugCheckEx+0x1b f78c2ccc 808868a0 00000000 bad0b148 00000000 nt!MmAccessFault+0xa91 f78c2ccc 8092b6e2 00000000 bad0b148 00000000 nt!KiTrap0E+0xd8 f78c2d68 8092b744 8246e028 00000001 82595b40 nt!ObpRemoveObjectRoutine+0xc4 f78c2d80 8087adbd 00000000 00000000 82595b40 nt!ObpProcessRemoveObjectQueue+0x36 f78c2dac 809418f4 00000000 00000000 00000000 nt!ExpWorkerThread+0xeb f78c2ddc 80887f4a 8087acd2 00000000 00000000 nt!PspSystemThreadStartup+0x2e 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16 STACK_COMMAND: kb FOLLOWUP_IP: nt!ObpRemoveObjectRoutine+c4 8092b6e2 3918 cmp dword ptr [eax],ebx SYMBOL_STACK_INDEX: 6 SYMBOL_NAME: nt!ObpRemoveObjectRoutine+c4 FOLLOWUP_NAME: MachineOwner MODULE_NAME: nt IMAGE_NAME: ntkrnlpa.exe DEBUG_FLR_IMAGE_TIMESTAMP: 45ec0a19 FAILURE_BUCKET_ID: 0x50_BADMEMREF_nt!ObpRemoveObjectRoutine+c4 BUCKET_ID: 0x50_BADMEMREF_nt!ObpRemoveObjectRoutine+c4 Followup: MachineOwner --------- |
|
地下室#
发布于:2009-12-11 10:46
问题和lz的一样,求解释哈!!
|
|
5楼#
发布于:2009-12-11 12:18
回 4楼(bestshow) 的帖子
应该是中断级问题!在dispatch级别上出现了缺页中断的访问!纯属个人意见!自己验证验证! |
|