Prev: SetupDiEnumDeviceInterfaces - DIGCF_ALLCLASSES not returning USB A
Next: Can't EnumDeviceInterfaces when install KMDF driver in XP?
From: Sushma on 2 Sep 2008 08:47 Hi All, I'm testing a PCI memory card reader driver using dc2. I got a BSOD immediately after starting the random test. Moreover, the BSOD occured in windows XP. There was no BSOD in windows Vista. I had used XP build for Vista as well. I have two questions. 1. The last statement in dc2.log is Start IOCTL/FSCTL RANDOM Tests (100000 calls, rand funcs 0-400, rand devtype 0-200, rand buffers, seed=1220355778). Is there any way i can run only random tests. I had tried using the command "dc2 /dl 0 /du 200 /fl 0 /fu 400 /rs 1220355778 pcidrv" but there was no BSOD. 2. I did the bug check analysis, can any one point me the reason for failure? When i attached the debugger, the driver got IOCTL which i did not handle. The IOCTL's which are not handled are completed with status STATUS_INVALID_PARAMETER. Also, i did not have any assertions included at the point where the code failed. Thank You. Regards, Sushma Here is the bug check analysis: kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* KERNEL_MODE_EXCEPTION_NOT_HANDLED (8e) This is a very common bugcheck. Usually the exception address pinpoints the driver/function that caused the problem. Always note this address as well as the link date of the driver/image that contains this address. Some common problems are exception code 0x80000003. This means a hard coded breakpoint or assertion was hit, but this system was booted /NODEBUG. This is not supposed to happen as developers should never have hardcoded breakpoints in retail code, but ... If this happens, make sure a debugger gets connected, and the system is booted /DEBUG. This will let us see why this breakpoint is happening. Arguments: Arg1: 80000003, The exception code that was not handled Arg2: 80526fbc, The address that the exception occurred at Arg3: aa39d804, Trap Frame Arg4: 00000000 Debugging Details: ------------------ EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid FAULTING_IP: nt!DbgBreakPoint+0 80526fbc cc int 3 TRAP_FRAME: aa39d804 -- (.trap 0xffffffffaa39d804) ErrCode = 00000000 eax=00000000 ebx=82c09ed8 ecx=00000001 edx=00000000 esi=8270d6e8 edi=aa123118 eip=80526fbd esp=aa39d878 ebp=aa39d89c iopl=0 nv up ei pl nz na po nc cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202 nt!DbgBreakPoint+0x1: 80526fbd c3 ret Resetting default scope DEFAULT_BUCKET_ID: DRIVER_FAULT BUGCHECK_STR: 0x8E PROCESS_NAME: dc2.exe LAST_CONTROL_TRANSFER: from 804fcb3f to 804f8aef STACK_TEXT: aa39d3cc 804fcb3f 0000008e 80000003 80526fbc nt!KeBugCheckEx+0x1b aa39d794 8053d471 aa39d7b0 00000000 aa39d804 nt!KiDispatchException +0x3b1 aa39d7fc 8053db81 aa39d89c 80526fbd badb0d00 nt!CommonDispatchException +0x4d aa39d7fc 80526fbd aa39d89c 80526fbd badb0d00 nt!KiTrap03+0xad aa39d874 aa0e857c aa123118 8270d6e8 00000000 nt!DbgBreakPoint+0x1 aa39d89c aa0ea938 c0000002 00000001 82c09ed8 Wdf01000! FxRequest::CompleteInternal+0xd1 aa39d8b8 aa0ea95c c0000002 00000001 aa39d8e4 Wdf01000! FxRequest::Complete+0xb3 aa39d8c8 aa0d3fd4 c0000002 00000000 826f8a88 Wdf01000! FxRequest::CompleteWithInformation+0x18 aa39d8e4 aa1365ad 8270d6e8 7d8f2910 c0000002 Wdf01000! imp_WdfRequestCompleteWithInformation+0x7f aa39d8fc aa138f9f 7d8f2910 c0000002 00000000 pcidrv! WdfRequestCompleteWithInformation+0x1d [c:\winddk\6000\inc\wdf\kmdf \10\wdfrequest.h @ 848] aa39d9f8 aa0f9ba4 7d907570 7d8f2910 00000000 pcidrv! PCIEvtIoDeviceControl+0xf6f [d:\project\ioctl.c @ 752] aa39da1c aa0faf7c 7d907570 7d8f2910 00000000 Wdf01000! FxIoQueueIoDeviceControl::Invoke+0x30 aa39da4c aa0fd598 7d8f2910 8270d6e8 826f8a88 Wdf01000! FxIoQueue::DispatchRequestToDriver+0x445 aa39da68 aa0fed2c 826f8a00 aa124188 826f8a88 Wdf01000! FxIoQueue::DispatchEvents+0x485 aa39da84 aa0ffe67 00000000 82c1c4d8 82c2e3a0 Wdf01000! FxIoQueue::QueueRequest+0x237 aa39daa8 aa0eed9a 82c1c428 aa39db48 804edfe3 Wdf01000!FxPkgIo::Dispatch +0x377 aa39dab4 804edfe3 81fb7508 82c1c428 82c1c4fc Wdf01000! FxDevice::Dispatch+0x7f aa39dac4 f84b7c3a 00070050 82450958 82c1c428 nt!IopfCallDriver+0x31 aa39db48 f84a6402 824508a0 82c1c428 82c1c428 CLASSPNP! ClassDeviceControl+0x87e aa39dbdc f84b647f 824508a0 82c1c428 82c1c504 disk!DiskDeviceControl +0xdcc aa39dbf8 804edfe3 824508a0 82c1c428 82c1c428 CLASSPNP! ClassDeviceControlDispatch+0x48 aa39dc08 f86ff667 82b65230 82dafdd0 82c1c428 nt!IopfCallDriver+0x31 aa39dc34 804edfe3 826f7ad0 82c1c428 806d02d0 PartMgr!PmDeviceControl +0x8c aa39dc44 80573dce 82c1c4e0 82465ab0 82c1c428 nt!IopfCallDriver+0x31 aa39dc58 80574c5d 826f7ad0 82c1c428 82465ab0 nt! IopSynchronousServiceTail+0x60 aa39dd00 8056d5ba 00000794 00000000 00000000 nt!IopXxxControlFile +0x5e7 aa39dd34 8053ca28 00000794 00000000 00000000 nt!NtDeviceIoControlFile +0x2a aa39dd34 7c90eb94 00000794 00000000 00000000 nt!KiFastCallEntry+0xf8 0006ead8 7c90d8ef 0101209c 00000794 00000000 ntdll!KiFastSystemCallRet 0006eadc 0101209c 00000794 00000000 00000000 ntdll! ZwDeviceIoControlFile+0xc 0006eb98 01013868 0101b370 00272868 00000010 dc2!do_ioctl+0x8dc 0006f410 01014af8 000007a4 003005a0 0101b370 dc2!do_device_opens+0x468 0006f78c 01014809 000007ac 002f0088 0101b370 dc2!recurse+0x748 0006fb08 01009f42 00000000 0006ff44 0101b370 dc2!recurse+0x459 0006ff7c 0101876e 00000004 00273e28 00272c78 dc2!main+0x4d2 0006ffc0 7c816fd7 0000000e 00000000 7ffd4000 dc2!_initterm_e+0x163 0006fff0 00000000 010188ac 00000000 78746341 kernel32!BaseProcessStart +0x23 STACK_COMMAND: kb FOLLOWUP_IP: pcidrv!WdfRequestCompleteWithInformation+1d [c:\winddk\6000\inc\wdf \kmdf\10\wdfrequest.h @ 848] aa1365ad 5d pop ebp FAULTING_SOURCE_CODE: 844: IN ULONG_PTR Information 845: ) 846: { 847: ((PFN_WDFREQUESTCOMPLETEWITHINFORMATION) WdfFunctions[WdfRequestCompleteWithInformationTableIndex]) (WdfDriverGlobals, Request, Status, Information); > 848: } 849: 850: // 851: // WDF Function: WdfRequestGetParameters 852: // 853: typedef SYMBOL_STACK_INDEX: 9 SYMBOL_NAME: pcidrv!WdfRequestCompleteWithInformation+1d FOLLOWUP_NAME: MachineOwner MODULE_NAME: pcidrv IMAGE_NAME: pcidrv.sys DEBUG_FLR_IMAGE_TIMESTAMP: 48bd2306 FAILURE_BUCKET_ID: 0x8E_pcidrv!WdfRequestCompleteWithInformation+1d BUCKET_ID: 0x8E_pcidrv!WdfRequestCompleteWithInformation+1d Followup: MachineOwner ---------
From: Sushma on 2 Sep 2008 13:12 I forgot to mention that i used the command dc2 /hct /dr <driver-name> for testing.
From: Doron Holan [MSFT] on 2 Sep 2008 15:44 dump the log for your driver (!wdfkd.wdflogdump pcidrv) and see why KMDF does not like your complete call. if you are going to ship this driver, *please* change the name from what the sample uses. you will almost be guaranteed to conflict with someone else who will make the same mistake and overwrite your driver d -- Please do not send e-mail directly to this alias. this alias is for newsgroup purposes only. This posting is provided "AS IS" with no warranties, and confers no rights. "Sushma" <sushma.yella(a)gmail.com> wrote in message news:d4588ade-117e-4af1-a9b0-e7b862b57996(a)l33g2000pri.googlegroups.com... > Hi All, > > I'm testing a PCI memory card reader driver using dc2. I got a BSOD > immediately after starting the random test. Moreover, the BSOD occured > in windows XP. > There was no BSOD in windows Vista. I had used XP build for Vista as > well. > > I have two questions. > > 1. The last statement in dc2.log is Start IOCTL/FSCTL RANDOM Tests > (100000 calls, rand funcs 0-400, rand devtype 0-200, rand buffers, > seed=1220355778). Is there any way i can run only random tests. I had > tried using the command "dc2 /dl 0 /du 200 /fl 0 /fu 400 /rs > 1220355778 pcidrv" but there was no BSOD. > 2. I did the bug check analysis, can any one point me the reason for > failure? When i attached the debugger, the driver got IOCTL which i > did not handle. The IOCTL's which are not handled are completed with > status STATUS_INVALID_PARAMETER. Also, i did not have any assertions > included at the point where the code failed. > > Thank You. > > Regards, > Sushma > > Here is the bug check analysis: > > kd> !analyze -v > ******************************************************************************* > * > * > * Bugcheck > Analysis * > * > * > ******************************************************************************* > > KERNEL_MODE_EXCEPTION_NOT_HANDLED (8e) > This is a very common bugcheck. Usually the exception address > pinpoints > the driver/function that caused the problem. Always note this address > as well as the link date of the driver/image that contains this > address. > Some common problems are exception code 0x80000003. This means a hard > coded breakpoint or assertion was hit, but this system was booted > /NODEBUG. This is not supposed to happen as developers should never > have > hardcoded breakpoints in retail code, but ... > If this happens, make sure a debugger gets connected, and the > system is booted /DEBUG. This will let us see why this breakpoint is > happening. > Arguments: > Arg1: 80000003, The exception code that was not handled > Arg2: 80526fbc, The address that the exception occurred at > Arg3: aa39d804, Trap Frame > Arg4: 00000000 > > Debugging Details: > ------------------ > EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more > arguments are invalid > > FAULTING_IP: > nt!DbgBreakPoint+0 > 80526fbc cc int 3 > > TRAP_FRAME: aa39d804 -- (.trap 0xffffffffaa39d804) > ErrCode = 00000000 > eax=00000000 ebx=82c09ed8 ecx=00000001 edx=00000000 esi=8270d6e8 > edi=aa123118 > eip=80526fbd esp=aa39d878 ebp=aa39d89c iopl=0 nv up ei pl nz > na po nc > cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 > efl=00000202 > nt!DbgBreakPoint+0x1: > 80526fbd c3 ret > Resetting default scope > > DEFAULT_BUCKET_ID: DRIVER_FAULT > > BUGCHECK_STR: 0x8E > > PROCESS_NAME: dc2.exe > > LAST_CONTROL_TRANSFER: from 804fcb3f to 804f8aef > > STACK_TEXT: > aa39d3cc 804fcb3f 0000008e 80000003 80526fbc nt!KeBugCheckEx+0x1b > aa39d794 8053d471 aa39d7b0 00000000 aa39d804 nt!KiDispatchException > +0x3b1 > aa39d7fc 8053db81 aa39d89c 80526fbd badb0d00 nt!CommonDispatchException > +0x4d > aa39d7fc 80526fbd aa39d89c 80526fbd badb0d00 nt!KiTrap03+0xad > aa39d874 aa0e857c aa123118 8270d6e8 00000000 nt!DbgBreakPoint+0x1 > aa39d89c aa0ea938 c0000002 00000001 82c09ed8 Wdf01000! > FxRequest::CompleteInternal+0xd1 > aa39d8b8 aa0ea95c c0000002 00000001 aa39d8e4 Wdf01000! > FxRequest::Complete+0xb3 > aa39d8c8 aa0d3fd4 c0000002 00000000 826f8a88 Wdf01000! > FxRequest::CompleteWithInformation+0x18 > aa39d8e4 aa1365ad 8270d6e8 7d8f2910 c0000002 Wdf01000! > imp_WdfRequestCompleteWithInformation+0x7f > aa39d8fc aa138f9f 7d8f2910 c0000002 00000000 pcidrv! > WdfRequestCompleteWithInformation+0x1d [c:\winddk\6000\inc\wdf\kmdf > \10\wdfrequest.h @ 848] > aa39d9f8 aa0f9ba4 7d907570 7d8f2910 00000000 pcidrv! > PCIEvtIoDeviceControl+0xf6f [d:\project\ioctl.c @ 752] > aa39da1c aa0faf7c 7d907570 7d8f2910 00000000 Wdf01000! > FxIoQueueIoDeviceControl::Invoke+0x30 > aa39da4c aa0fd598 7d8f2910 8270d6e8 826f8a88 Wdf01000! > FxIoQueue::DispatchRequestToDriver+0x445 > aa39da68 aa0fed2c 826f8a00 aa124188 826f8a88 Wdf01000! > FxIoQueue::DispatchEvents+0x485 > aa39da84 aa0ffe67 00000000 82c1c4d8 82c2e3a0 Wdf01000! > FxIoQueue::QueueRequest+0x237 > aa39daa8 aa0eed9a 82c1c428 aa39db48 804edfe3 Wdf01000!FxPkgIo::Dispatch > +0x377 > aa39dab4 804edfe3 81fb7508 82c1c428 82c1c4fc Wdf01000! > FxDevice::Dispatch+0x7f > aa39dac4 f84b7c3a 00070050 82450958 82c1c428 nt!IopfCallDriver+0x31 > aa39db48 f84a6402 824508a0 82c1c428 82c1c428 CLASSPNP! > ClassDeviceControl+0x87e > aa39dbdc f84b647f 824508a0 82c1c428 82c1c504 disk!DiskDeviceControl > +0xdcc > aa39dbf8 804edfe3 824508a0 82c1c428 82c1c428 CLASSPNP! > ClassDeviceControlDispatch+0x48 > aa39dc08 f86ff667 82b65230 82dafdd0 82c1c428 nt!IopfCallDriver+0x31 > aa39dc34 804edfe3 826f7ad0 82c1c428 806d02d0 PartMgr!PmDeviceControl > +0x8c > aa39dc44 80573dce 82c1c4e0 82465ab0 82c1c428 nt!IopfCallDriver+0x31 > aa39dc58 80574c5d 826f7ad0 82c1c428 82465ab0 nt! > IopSynchronousServiceTail+0x60 > aa39dd00 8056d5ba 00000794 00000000 00000000 nt!IopXxxControlFile > +0x5e7 > aa39dd34 8053ca28 00000794 00000000 00000000 nt!NtDeviceIoControlFile > +0x2a > aa39dd34 7c90eb94 00000794 00000000 00000000 nt!KiFastCallEntry+0xf8 > 0006ead8 7c90d8ef 0101209c 00000794 00000000 ntdll!KiFastSystemCallRet > 0006eadc 0101209c 00000794 00000000 00000000 ntdll! > ZwDeviceIoControlFile+0xc > 0006eb98 01013868 0101b370 00272868 00000010 dc2!do_ioctl+0x8dc > 0006f410 01014af8 000007a4 003005a0 0101b370 dc2!do_device_opens+0x468 > 0006f78c 01014809 000007ac 002f0088 0101b370 dc2!recurse+0x748 > 0006fb08 01009f42 00000000 0006ff44 0101b370 dc2!recurse+0x459 > 0006ff7c 0101876e 00000004 00273e28 00272c78 dc2!main+0x4d2 > 0006ffc0 7c816fd7 0000000e 00000000 7ffd4000 dc2!_initterm_e+0x163 > 0006fff0 00000000 010188ac 00000000 78746341 kernel32!BaseProcessStart > +0x23 > > > STACK_COMMAND: kb > > FOLLOWUP_IP: > pcidrv!WdfRequestCompleteWithInformation+1d [c:\winddk\6000\inc\wdf > \kmdf\10\wdfrequest.h @ 848] > aa1365ad 5d pop ebp > > FAULTING_SOURCE_CODE: > 844: IN ULONG_PTR Information > 845: ) > 846: { > 847: ((PFN_WDFREQUESTCOMPLETEWITHINFORMATION) > WdfFunctions[WdfRequestCompleteWithInformationTableIndex]) > (WdfDriverGlobals, Request, Status, > > Information); >> 848: } > 849: > 850: // > 851: // WDF Function: WdfRequestGetParameters > 852: // > 853: typedef > > > SYMBOL_STACK_INDEX: 9 > > SYMBOL_NAME: pcidrv!WdfRequestCompleteWithInformation+1d > > FOLLOWUP_NAME: MachineOwner > > MODULE_NAME: pcidrv > > IMAGE_NAME: pcidrv.sys > > DEBUG_FLR_IMAGE_TIMESTAMP: 48bd2306 > > FAILURE_BUCKET_ID: 0x8E_pcidrv!WdfRequestCompleteWithInformation+1d > > BUCKET_ID: 0x8E_pcidrv!WdfRequestCompleteWithInformation+1d > > Followup: MachineOwner > ---------
From: Sushma on 4 Sep 2008 10:46 Hi Doron, I could not find much information from the dump. Can you help me understand if there is any problem in the dump. I'm confused about one thing, the difference in behavior of same driver in windows XP to windows Vista with the tool. Also, i would change the name of driver while shipping. The current name is only for testing purpose. Just when a break instruction breakpoint was hit i had taken the dump. Here is the dump: There are 107 log entries --- start of log --- 4067592: FxPkgIo::Dispatch - WDFDEVICE 0x7D3F4870 !devobj 0x82A92C70 0x0000000e(IRP_MJ_DEVICE_CONTROL), IRP_MN 0, IRP 0x82AC6BB8 4067593: FxDevice::AllocateRequestMemory - Allocating FxRequest* 826FCEE8, WDFREQUEST 7D903110 4067594: FxIoQueue::QueueRequest - Queuing WDFREQUEST 0x7D903110 on WDFQUEUE 0x7D397A18 4067595: FxIoQueue::DispatchEvents - Thread 82C07020 is processing WDFQUEUE 0x7D397A18 4067596: FxIoQueue::DispatchRequestToDriver - Calling driver EvtIoDeviceControl for WDFREQUEST 0x7D903110 4067597: imp_WdfRequestCompleteWithInformation - Completing WDFREQUEST 0x7D903110, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067598: FxRequest::Complete - Completing WDFREQUEST 0x7D903110 for IRP 0x82AC6BB8 with Information 0x0, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067599: FxIoQueue::RequestCompletedCallback - Enter: WDFQUEUE 0x7D397A18, WDFREQUEST 0x7D903110 4067600: FxIoQueue::DispatchRequestToDriver - WDFREQUEST 0x7D903110 dispatched to driver 4067601: FxDevice::FreeRequestMemory - Free FxRequest* 826FCEE8 memory 4067602: FxIoQueue::DispatchEvents - No requests on WDFQUEUE 0x7D397A18 4067603: FxPkgIo::Dispatch - WDFDEVICE 0x7D3F4870 !devobj 0x82A92C70 0x0000000e(IRP_MJ_DEVICE_CONTROL), IRP_MN 0, IRP 0x82AC6BB8 4067604: FxDevice::AllocateRequestMemory - Allocating FxRequest* 826FCEE8, WDFREQUEST 7D903110 4067605: FxIoQueue::QueueRequest - Queuing WDFREQUEST 0x7D903110 on WDFQUEUE 0x7D397A18 4067606: FxIoQueue::DispatchEvents - Thread 82C07020 is processing WDFQUEUE 0x7D397A18 4067607: FxIoQueue::DispatchRequestToDriver - Calling driver EvtIoDeviceControl for WDFREQUEST 0x7D903110 4067608: imp_WdfRequestCompleteWithInformation - Completing WDFREQUEST 0x7D903110, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067609: FxRequest::Complete - Completing WDFREQUEST 0x7D903110 for IRP 0x82AC6BB8 with Information 0x0, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067610: FxIoQueue::RequestCompletedCallback - Enter: WDFQUEUE 0x7D397A18, WDFREQUEST 0x7D903110 4067611: FxIoQueue::DispatchRequestToDriver - WDFREQUEST 0x7D903110 dispatched to driver 4067612: FxDevice::FreeRequestMemory - Free FxRequest* 826FCEE8 memory 4067613: FxIoQueue::DispatchEvents - No requests on WDFQUEUE 0x7D397A18 4067614: FxPkgIo::Dispatch - WDFDEVICE 0x7D3F4870 !devobj 0x82A92C70 0x0000000e(IRP_MJ_DEVICE_CONTROL), IRP_MN 0, IRP 0x82AC6BB8 4067615: FxDevice::AllocateRequestMemory - Allocating FxRequest* 826FCEE8, WDFREQUEST 7D903110 4067616: FxIoQueue::QueueRequest - Queuing WDFREQUEST 0x7D903110 on WDFQUEUE 0x7D397A18 4067617: FxIoQueue::DispatchEvents - Thread 82C07020 is processing WDFQUEUE 0x7D397A18 4067618: FxIoQueue::DispatchRequestToDriver - Calling driver EvtIoDeviceControl for WDFREQUEST 0x7D903110 4067619: imp_WdfRequestCompleteWithInformation - Completing WDFREQUEST 0x7D903110, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067620: FxRequest::Complete - Completing WDFREQUEST 0x7D903110 for IRP 0x82AC6BB8 with Information 0x0, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067621: FxIoQueue::RequestCompletedCallback - Enter: WDFQUEUE 0x7D397A18, WDFREQUEST 0x7D903110 4067622: FxIoQueue::DispatchRequestToDriver - WDFREQUEST 0x7D903110 dispatched to driver 4067623: FxDevice::FreeRequestMemory - Free FxRequest* 826FCEE8 memory 4067624: FxIoQueue::DispatchEvents - No requests on WDFQUEUE 0x7D397A18 4067625: FxPkgIo::Dispatch - WDFDEVICE 0x7D3F4870 !devobj 0x82A92C70 0x0000000e(IRP_MJ_DEVICE_CONTROL), IRP_MN 0, IRP 0x82AC6BB8 4067626: FxDevice::AllocateRequestMemory - Allocating FxRequest* 826FCEE8, WDFREQUEST 7D903110 4067627: FxIoQueue::QueueRequest - Queuing WDFREQUEST 0x7D903110 on WDFQUEUE 0x7D397A18 4067628: FxIoQueue::DispatchEvents - Thread 82C07020 is processing WDFQUEUE 0x7D397A18 4067629: FxIoQueue::DispatchRequestToDriver - Calling driver EvtIoDeviceControl for WDFREQUEST 0x7D903110 4067630: imp_WdfRequestCompleteWithInformation - Completing WDFREQUEST 0x7D903110, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067631: FxRequest::Complete - Completing WDFREQUEST 0x7D903110 for IRP 0x82AC6BB8 with Information 0x0, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067632: FxIoQueue::RequestCompletedCallback - Enter: WDFQUEUE 0x7D397A18, WDFREQUEST 0x7D903110 4067633: FxIoQueue::DispatchRequestToDriver - WDFREQUEST 0x7D903110 dispatched to driver 4067634: FxDevice::FreeRequestMemory - Free FxRequest* 826FCEE8 memory 4067635: FxIoQueue::DispatchEvents - No requests on WDFQUEUE 0x7D397A18 4067636: FxPkgIo::Dispatch - WDFDEVICE 0x7D3F4870 !devobj 0x82A92C70 0x0000000e(IRP_MJ_DEVICE_CONTROL), IRP_MN 0, IRP 0x82AC6BB8 4067637: FxDevice::AllocateRequestMemory - Allocating FxRequest* 826FCEE8, WDFREQUEST 7D903110 4067638: FxIoQueue::QueueRequest - Queuing WDFREQUEST 0x7D903110 on WDFQUEUE 0x7D397A18 4067639: FxIoQueue::DispatchEvents - Thread 82C07020 is processing WDFQUEUE 0x7D397A18 4067640: FxIoQueue::DispatchRequestToDriver - Calling driver EvtIoDeviceControl for WDFREQUEST 0x7D903110 4067641: imp_WdfRequestCompleteWithInformation - Completing WDFREQUEST 0x7D903110, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067642: FxRequest::Complete - Completing WDFREQUEST 0x7D903110 for IRP 0x82AC6BB8 with Information 0x0, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067643: FxIoQueue::RequestCompletedCallback - Enter: WDFQUEUE 0x7D397A18, WDFREQUEST 0x7D903110 4067644: FxIoQueue::DispatchRequestToDriver - WDFREQUEST 0x7D903110 dispatched to driver 4067645: FxDevice::FreeRequestMemory - Free FxRequest* 826FCEE8 memory 4067646: FxIoQueue::DispatchEvents - No requests on WDFQUEUE 0x7D397A18 4067647: FxPkgIo::Dispatch - WDFDEVICE 0x7D3F4870 !devobj 0x82A92C70 0x0000000e(IRP_MJ_DEVICE_CONTROL), IRP_MN 0, IRP 0x82AC6BB8 4067648: FxDevice::AllocateRequestMemory - Allocating FxRequest* 826FCEE8, WDFREQUEST 7D903110 4067649: FxIoQueue::QueueRequest - Queuing WDFREQUEST 0x7D903110 on WDFQUEUE 0x7D397A18 4067650: FxIoQueue::DispatchEvents - Thread 82C07020 is processing WDFQUEUE 0x7D397A18 4067651: FxIoQueue::DispatchRequestToDriver - Calling driver EvtIoDeviceControl for WDFREQUEST 0x7D903110 4067652: imp_WdfRequestCompleteWithInformation - Completing WDFREQUEST 0x7D903110, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067653: FxRequest::Complete - Completing WDFREQUEST 0x7D903110 for IRP 0x82AC6BB8 with Information 0x0, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067654: FxIoQueue::RequestCompletedCallback - Enter: WDFQUEUE 0x7D397A18, WDFREQUEST 0x7D903110 4067655: FxIoQueue::DispatchRequestToDriver - WDFREQUEST 0x7D903110 dispatched to driver 4067656: FxDevice::FreeRequestMemory - Free FxRequest* 826FCEE8 memory 4067657: FxIoQueue::DispatchEvents - No requests on WDFQUEUE 0x7D397A18 4067658: FxPkgIo::Dispatch - WDFDEVICE 0x7D3F4870 !devobj 0x82A92C70 0x0000000e(IRP_MJ_DEVICE_CONTROL), IRP_MN 0, IRP 0x82AC6BB8 4067659: FxDevice::AllocateRequestMemory - Allocating FxRequest* 826FCEE8, WDFREQUEST 7D903110 4067660: FxIoQueue::QueueRequest - Queuing WDFREQUEST 0x7D903110 on WDFQUEUE 0x7D397A18 4067661: FxIoQueue::DispatchEvents - Thread 82C07020 is processing WDFQUEUE 0x7D397A18 4067662: FxIoQueue::DispatchRequestToDriver - Calling driver EvtIoDeviceControl for WDFREQUEST 0x7D903110 4067663: imp_WdfRequestCompleteWithInformation - Completing WDFREQUEST 0x7D903110, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067664: FxRequest::Complete - Completing WDFREQUEST 0x7D903110 for IRP 0x82AC6BB8 with Information 0x0, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067665: FxIoQueue::RequestCompletedCallback - Enter: WDFQUEUE 0x7D397A18, WDFREQUEST 0x7D903110 4067666: FxIoQueue::DispatchRequestToDriver - WDFREQUEST 0x7D903110 dispatched to driver 4067667: FxDevice::FreeRequestMemory - Free FxRequest* 826FCEE8 memory 4067668: FxIoQueue::DispatchEvents - No requests on WDFQUEUE 0x7D397A18 4067669: FxPkgIo::Dispatch - WDFDEVICE 0x7D3F4870 !devobj 0x82A92C70 0x0000000e(IRP_MJ_DEVICE_CONTROL), IRP_MN 0, IRP 0x82AC6BB8 4067670: FxDevice::AllocateRequestMemory - Allocating FxRequest* 826FCEE8, WDFREQUEST 7D903110 4067671: FxIoQueue::QueueRequest - Queuing WDFREQUEST 0x7D903110 on WDFQUEUE 0x7D397A18 4067672: FxIoQueue::DispatchEvents - Thread 82C07020 is processing WDFQUEUE 0x7D397A18 4067673: FxIoQueue::DispatchRequestToDriver - Calling driver EvtIoDeviceControl for WDFREQUEST 0x7D903110 4067674: imp_WdfRequestCompleteWithInformation - Completing WDFREQUEST 0x7D903110, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067675: FxRequest::Complete - Completing WDFREQUEST 0x7D903110 for IRP 0x82AC6BB8 with Information 0x0, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067676: FxIoQueue::RequestCompletedCallback - Enter: WDFQUEUE 0x7D397A18, WDFREQUEST 0x7D903110 4067677: FxIoQueue::DispatchRequestToDriver - WDFREQUEST 0x7D903110 dispatched to driver 4067678: FxDevice::FreeRequestMemory - Free FxRequest* 826FCEE8 memory 4067679: FxIoQueue::DispatchEvents - No requests on WDFQUEUE 0x7D397A18 4067680: FxPkgIo::Dispatch - WDFDEVICE 0x7D3F4870 !devobj 0x82A92C70 0x0000000e(IRP_MJ_DEVICE_CONTROL), IRP_MN 0, IRP 0x82AC6BB8 4067681: FxDevice::AllocateRequestMemory - Allocating FxRequest* 826FCEE8, WDFREQUEST 7D903110 4067682: FxIoQueue::QueueRequest - Queuing WDFREQUEST 0x7D903110 on WDFQUEUE 0x7D397A18 4067683: FxIoQueue::DispatchEvents - Thread 82C07020 is processing WDFQUEUE 0x7D397A18 4067684: FxIoQueue::DispatchRequestToDriver - Calling driver EvtIoDeviceControl for WDFREQUEST 0x7D903110 4067685: imp_WdfRequestCompleteWithInformation - Completing WDFREQUEST 0x7D903110, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067686: FxRequest::Complete - Completing WDFREQUEST 0x7D903110 for IRP 0x82AC6BB8 with Information 0x0, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067687: FxIoQueue::RequestCompletedCallback - Enter: WDFQUEUE 0x7D397A18, WDFREQUEST 0x7D903110 4067688: FxIoQueue::DispatchRequestToDriver - WDFREQUEST 0x7D903110 dispatched to driver 4067689: FxDevice::FreeRequestMemory - Free FxRequest* 826FCEE8 memory 4067690: FxIoQueue::DispatchEvents - No requests on WDFQUEUE 0x7D397A18 4067691: FxPkgIo::Dispatch - WDFDEVICE 0x7D3F4870 !devobj 0x82A92C70 0x0000000e(IRP_MJ_DEVICE_CONTROL), IRP_MN 0, IRP 0x82AC6BB8 4067692: FxDevice::AllocateRequestMemory - Allocating FxRequest* 826FCEE8, WDFREQUEST 7D903110 4067693: FxIoQueue::QueueRequest - Queuing WDFREQUEST 0x7D903110 on WDFQUEUE 0x7D397A18 4067694: FxIoQueue::DispatchEvents - Thread 82C07020 is processing WDFQUEUE 0x7D397A18 4067695: FxIoQueue::DispatchRequestToDriver - Calling driver EvtIoDeviceControl for WDFREQUEST 0x7D903110 4067696: imp_WdfRequestCompleteWithInformation - Completing WDFREQUEST 0x7D903110, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067697: FxRequest::Complete - Completing WDFREQUEST 0x7D903110 for IRP 0x82AC6BB8 with Information 0x0, 0xc0000002(STATUS_NOT_IMPLEMENTED) 4067698: FxRequest::CompleteInternal - Caller of this WDFREQUEST 7D903110, Irp 0x82AC6BB8 is passing an OuputBuffer address even though the OutputBufferLength is zero ---- end of log ----
From: Sushma on 4 Sep 2008 13:13
The wdf dump has the last statement as "4067698: FxRequest::CompleteInternal - Caller of this WDFREQUEST 7D903110, Irp 0x82AC6BB8 is passing an OuputBuffer address even though the OutputBufferLength is zero". I do not have clear idea about this statement. Can some one help me understand it? Thank You. Regards, Sushma |