Hello, my usb driver filter fine work on Windows < 8.1, but on 8.1 cause bsod when I try to send urb from IRP_MJ_START callback.
*******************************************************************************
* *
* 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: fffffffffffffb48, memory referenced.
Arg2: 0000000000000000, value 0 = read operation, 1 = write operation.
Arg3: fffff80061e8a066, If non-zero, the instruction address which referenced the bad memory
address.
Arg4: 0000000000000000, (reserved)
Debugging Details:
READ_ADDRESS: fffffffffffffb48
FAULTING_IP:
Wdf01000!imp_WdfObjectGetTypedContextWorker+26
fffff800`61e8a066 4c8b5010 mov r10,qword ptr [rax+10h]
MM_INTERNAL_CODE: 0
IMAGE_NAME: ucx01000.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 530893f5
MODULE_NAME: ucx01000
FAULTING_MODULE: fffff80061e89000 Wdf01000
DEFAULT_BUCKET_ID: WIN8_DRIVER_FAULT
BUGCHECK_STR: AV
PROCESS_NAME: System
CURRENT_IRQL: 0
ANALYSIS_VERSION: 6.3.9600.16384 (debuggers(dbg).130821-1623) amd64fre
TRAP_FRAME: ffffd00025275ea0 – (.trap 0xffffd00025275ea0)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=fffffffffffffb38 rbx=0000000000000000 rcx=0000000000000000
rdx=00000000000004c0 rsi=0000000000000000 rdi=0000000000000000
rip=fffff80061e8a066 rsp=ffffd00025276030 rbp=000000000000000b
r8=fffff800638f50b0 r9=000000000000000f r10=ffffe0015a8da410
r11=0000000000000000 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0 nv up ei pl zr na po nc
Wdf01000!imp_WdfObjectGetTypedContextWorker+0x26:
fffff80061e8a066 4c8b5010 mov r10,qword ptr [rax+10h] ds:ffffffff
fffffb48=???
Resetting default scope
LOCK_ADDRESS: fffff80263f57cc0 – (!locks fffff80263f57cc0)
Resource @ nt!PiEngineLock (0xfffff80263f57cc0) Exclusively owned
Contention Count = 1
NumberOfExclusiveWaiters = 1
Threads: ffffe00159f3c880-01<*>
Threads Waiting On Exclusive Access:
ffffe0015a1ae880
1 total locks, 1 locks currently held
PNP_TRIAGE:
Lock address : 0xfffff80263f57cc0
Thread Count : 1
Thread address: 0xffffe00159f3c880
Thread wait : 0x1f4
LAST_CONTROL_TRANSFER: from fffff80263e080e7 to fffff80263dd6fa0
STACK_TEXT:
ffffd00025275cb8 fffff802
63e080e7 : 0000000000000050 ffffffff
fffffb48 0000000000000000 ffffd000
25275ea0 : nt!KeBugCheckEx
ffffd00025275cc0 fffff802
63cea9c9 : 0000000000000000 ffffe001
59f3c880 ffffd00025275ea0 ffffe001
5ae7c320 : nt! ?? ::FNODOBFM::string'+0x20c37 ffffd000
25275d60 fffff80263de122f : 00000000
00000000 0000000000000000 00000000
00000000 ffffd00025275ea0 : nt!MmAccessFault+0x7a9 ffffd000
25275ea0 fffff80061e8a066 : fffff802
63fcfdc0 0000000000000001 ffffd000
00000008 ffffe0015ade0b40 : nt!KiPageFault+0x12f ffffd000
25276030 fffff800638e8a84 : 00000000
0000000b fffff800638e8cfb 00000000
0000000b fffff800638e8c00 : Wdf01000!imp_WdfObjectGetTypedContextWorker+0x26 ffffd000
25276080 fffff800638dee20 : 00001ffe
a571b3d8 ffffe0015ade0b40 ffffd000
25276140 ffffe0015ade0d78 : ucx01000!Urb_USBPORTStyle_ProcessURB+0x98 ffffd000
252760e0 fffff80061e8fd43 : ffffe001
5ade0b40 fffff80263ce40b2 00000000
0000000f ffffe0015a8e4c20 : ucx01000!RootHub_Pdo_EvtInternalDeviceControlIrpPreprocessCallback+0x448 ffffd000
25276170 fffff8006357d386 : ffffc001
e5a8f057 fffff8006357d386 00000000
00000000 fffff8006357d386 : Wdf01000!FxDevice::DispatchWithLock+0xb01 ffffd000
25276250 fffff8006357d7cf : 00000000
00000000 fffff8006357d73b fffff800
63581580 00000000c0000001 : MyDriver!SendAndWaitUrb+0x72 ffffd000
252762e0 fffff8006357ed15 : 00000000
00000000 ffffc001e5a8f848 00000000
00000000 ffffe0015a8e2d30 : MyDriver!GetUsbStringDescriptor+0x77 ffffd000
252763e0 fffff8006357e8bc : ffffe001
5a8e2d30 ffffc001e5a8f020 00000000
00000000 ffffd00025276620 : MyDriver!GetUsbDeviceParameters+0x219 ffffd000
252764e0 fffff80063589444 : 00000000
00000001 ffffe0015afe21b0 ffffc001
e5a8f010 ffffe0015a8e2d30 : MyDriver!InitAndAddPdo+0x93 ffffd000
25276530 fffff80264028eea : ffffe001
5b3af550 ffffe0015b3ed880 ffffe001
5afe2060 0000000000000009 : MyDriver!DispatchPnpRequest+0x1c8 \<- IRP_MJ_START ffffd000
252765b0 fffff80263ccdcad : ffffe001
5a8e2d30 ffffd00025276659 00000000
00000000 fffff8026403fe3c : nt!PnpAsynchronousCall+0x102 ffffd000
252765f0 fffff80264029437 : ffffe001
5b3ae4d0 ffffe0015b3ae4d0 ffffe001
5b3ed880 0000000000000000 : nt!PnpStartDevice+0xc5 ffffd000
252766c0 fffff802640295d3 : ffffe001
5b3ae4d0 ffffe0015b3ae4d0 00000000
00000000 ffffe0015b3ae4d0 : nt!PnpStartDeviceNode+0x147 ffffd000
25276790 fffff80264037d0b : ffffe001
5b3ae4d0 0000000000000001 00000000
00000001 ffffe0015956ed30 : nt!PipProcessStartPhase1+0x5f ffffd000
252767d0 fffff8026419e113 : ffffe001
594fa1a0 0000000000000001 00000000
00000000 fffff80264043ef6 : nt!PipProcessDevNodeTree+0x403 ffffd000
25276a50 fffff80263d79a84 : 00000001
00000003 0000000000000000 00000000
00000000 ffffe00159f3c9c0 : nt!PiProcessStartSystemDevices+0x87 ffffd000
25276aa0 fffff80263cd6adb : fffff802
63d796c4 ffffd00025276bd0 00000000
00000000 ffffe00163734943 : nt!PnpDeviceActionWorker+0x3c0 ffffd000
25276b50 fffff80263d52794 : 00000000
00000000 ffffe00159f3c880 ffffe001
59f3c880 ffffe00159436900 : nt!ExpWorkerThread+0x293 ffffd000
25276c00 fffff80263ddd5c6 : fffff802
63f69180 ffffe00159f3c880 ffffe001
5951c880 0000000000000000 : nt!PspSystemThreadStartup+0x58 ffffd000
25276c60 0000000000000000 : ffffd000
25277000 ffffd00025271000 00000000
00000000 00000000`00000000 : nt!KiStartSystemThread+0x16