Just re-read my post and maybe its a bit unclear. As the device object attached to part of my device extension structure seems to be changing under my feet, i can only assume it’s because it is still in the process of being created and the fastio routine has been called before its fully initialized. Of course, theer may be othe reasons. Output of analyze -v below …
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
SYSTEM_SERVICE_EXCEPTION (3b)
An exception happened while executing a system service routine.
Arguments:
Arg1: 00000000c0000005, Exception code that caused the bugcheck
Arg2: fffff8004af2be46, Address of the instruction which caused the bugcheck
Arg3: ffffd0010dbb0920, Address of the context record for the exception that caused the bugcheck
Arg4: 0000000000000000, zero.
Debugging Details:
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.
FAULTING_IP:
PDRDrv64!PDRDrvFastIoQueryStandardInfo+66 [u:\PDRdrv\PDRdrv.c @ 783]
fffff800`4af2be46 488b4908 mov rcx,qword ptr [rcx+8]
CONTEXT: ffffd0010dbb0920 – (.cxr 0xffffd0010dbb0920)
rax=0000000000000001 rbx=0000000000000000 rcx=0000000000000000
rdx=0000000000000008 rsi=ffffd0010dbb13c0 rdi=ffffe00081423ce0
rip=fffff8004af2be46 rsp=ffffd0010dbb1340 rbp=ffffd0010dbb13e8
r8=ffffd0010dbb13e8 r9=ffffd0010dbb13c0 r10=ffffe0007bfe5f80
r11=ffffe000814012b0 r12=0000000001000001 r13=ffffe000813d68c0
r14=ffffd0010dbb14d8 r15=0000000000000002
iopl=0 nv up ei pl nz na pe nc
cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00010202
PDRDrv64!PDRDrvFastIoQueryStandardInfo+0x66:
fffff8004af2be46 488b4908 mov rcx,qword ptr [rcx+8] ds:002b:00000000
00000008=???
Resetting default scope
DEFAULT_BUCKET_ID: WIN8_DRIVER_FAULT
BUGCHECK_STR: 0x3B
PROCESS_NAME: dwm.exe
CURRENT_IRQL: 0
LAST_CONTROL_TRANSFER: from fffff8009d0511eb to fffff8004af2be46
STACK_TEXT:
ffffd0010dbb1340 fffff800
9d0511eb : 0000000000000402 ffffd001
0dbb1410 ffffe000813d68c0 00000000
00000000 : PDRDrv64!PDRDrvFastIoQueryStandardInfo+0x66 [u:\PDRdrv\PDRdrv.c @ 783]
ffffd0010dbb1390 fffff800
9d04fffa : 0000000000000000 00000000
00000000 0000000000000402 ffff1ed8
00000000 : nt!FsRtlGetFileSize+0x77
ffffd0010dbb1440 fffff800
9d0dd07b : ffffe000813d68c0 00000000
01000000 ffffd0010dbb16e9 00000000
00000000 : nt!MiCreateImageFileMap+0x82
ffffd0010dbb15f0 fffff800
9d123635 : 0000000000000402 ffffd001
0dbb1820 ffffffffffffffff ffffffff
ffffffff : nt!MiCreateNewSection+0xd7
ffffd0010dbb1720 fffff800
9d122b09 : ffffd0010dbb1960 00000000
00000000 000000010060d628 ffffd001
0dbb1958 : nt!MiCreateSection+0xa15
ffffd0010dbb18f0 fffff800
9cdd71a3 : ffffe0008142a080 00000001
0060d568 ffffd0010dbb19a8 00000001
0060d660 : nt!NtCreateSection+0x1c9
ffffd0010dbb1990 00007ffb
51a05a24 : 00007ffb51967aba 00000001
0060d660 000000010000003e 00000001
00480046 : nt!KiSystemServiceCopyEnd+0x13
000000010060d548 00007ffb
51967aba : 000000010060d660 00000001
0000003e 0000000100480046 00000001
00000030 : ntdll!NtCreateSection+0x14
000000010060d550 00007ffb
51969537 : 0000000000000000 00000000
000001d0 00000174c12df268 00000000
00000000 : ntdll!LdrpMapDllNtFileName+0x15a
000000010060d620 00007ffb
519692dc : 0000000000000000 00000174
c135b0f0 000000010060d801 00000001
0060db00 : ntdll!LdrpMapDllFullPath+0xcb
000000010060d7a0 00007ffb
51971e79 : 00000174c135b0f0 00000001
0060d901 000000010060d8b4 00000001
0060d8c0 : ntdll!LdrpProcessWork+0x50
000000010060d7f0 00007ffb
519719fe : 000000010060d8c0 00000001
0060da50 0000000000000000 00000000
00002001 : ntdll!LdrpLoadDllInternal+0x14d
000000010060d870 00007ffb
51970c44 : 0000000000000000 00000000
00000000 0000000000000000 00000000
00002009 : ntdll!LdrpLoadDll+0xf2
000000010060da10 00007ffb
4e08c77f : 000000010060de10 00000000
00000000 00000000000001c8 00000000
00000000 : ntdll!LdrLoadDll+0x114
000000010060db10 00007ffb
50dd15f8 : 0036004400000000 00000001
0060dce0 00410041002d0044 00000000
00000000 : KERNELBASE!LoadLibraryExW+0x16f
000000010060db80 00007ffb
50dd1521 : 00000000ffffffff 00000001
0060dc58 000000010060dce0 00000001
0060dcb8 : combase!LoadLibraryWithLogging+0x2c
000000010060dbc0 00007ffb
50dd1336 : 000000010060e300 00000001
0060dc70 000000010060dce0 00000000
00000000 : combase!CClassCache::CDllPathEntry::LoadDll+0x59
000000010060dc10 00007ffb
50dd0e3d : 000000010060e3e0 00000001
0060dfe8 00000174c1359650 00000000
00000000 : combase!CClassCache::CDllPathEntry::Create+0x52
000000010060dca0 00007ffb
50e33835 : 00000174c1359650 00000174
c1359650 00000174c1359650 00000001
0060e358 : combase!CClassCache::CClassEntry::CreateDllClassEntry+0x109
000000010060df60 00007ffb
50dd03b9 : 000000010060e3e0 00000000
00000016 00000174c12b2470 00000000
001c001c : combase!CClassCache::GetClassObjectActivator+0x825
000000010060e310 00007ffb
50dcfe52 : 00000174c13584e0 00000000
00000000 00007ffb50e2ae50 00000001
0060ed68 : combase!CClassCache::GetClassObject+0x4d
000000010060e380 00007ffb
50e3bc53 : 0000017400000001 00000001
0060f238 000000010060eb30 00000001
0060f600 : combase!CServerContextActivator::CreateInstance+0x172
000000010060e480 00007ffb
50dd0687 : 00007ffb50dd0700 00000001
0060e578 0000000000000000 00007ffb
50e3bb70 : combase!ActivationPropertiesIn::DelegateCreateInstance+0xe3
000000010060e500 00007ffb
50dcf3e9 : 00007ffb50fc96f0 00000000
00000000 000000010060eb30 00007ffb
50ea1af0 : combase!CApartmentActivator::CreateInstance+0xc7
000000010060e5c0 00007ffb
50dcf504 : 00007ffb50fc9700 00000000
00000001 0000000000000000 00000000
00000020 : combase!CProcessActivator::CCICallback+0x79
000000010060e600 00007ffb
50dcf5e0 : 00007ffb50dcf4a0 00000001
0060f600 0000000000000001 00000000
00000000 : combase!CProcessActivator::AttemptActivation+0x64
000000010060e640 00007ffb
50dcf900 : 00007ffb50dcf530 00007ffb
50f531d8 0000000000000000 00000001
00000001 : combase!CProcessActivator::ActivateByContext+0xb0
000000010060e6d0 00007ffb
50e3bca4 : 00007ffb50fc96f0 00000001
0060ed68 000000010060eb30 00000001
0060f418 : combase!CProcessActivator::CreateInstance+0x90
000000010060e720 00007ffb
50e3926a : 000000010060e7d0 00007ffb
00000000 000000010060e7d0 00000001
0060e7d0 : combase!ActivationPropertiesIn::DelegateCreateInstance+0x134
000000010060e7a0 00007ffb
50e3bc66 : 00007ffb50fc96e8 00007ffb
50e39110 000000010060ed68 00000001
0060f330 : combase!CClientContextActivator::CreateInstance+0x15a
000000010060ea60 00007ffb
50e30c31 : 000000010060ed70 00000001
0060f550 0000000000000001 00000001
0060ed70 : combase!ActivationPropertiesIn::DelegateCreateInstance+0xf6
000000010060eae0 00007ffb
50e2fe77 : 0000000000000000 00000000
00000000 00000174c1290000 00000000
00000080 : combase!ICoCreateInstanceEx+0xc91
000000010060f800 00007ffb
50e2fcdc : 0000000000000000 00000000
00000000 0000000000000001 00000000
00000000 : combase!CComActivator::DoCreateInstance+0x147
000000010060f880 00007ffb
4c4246ff : 0000000000000000 00000000
00000000 000000010060fa50 00000000
000001b0 : combase!CoCreateInstance+0x19c
000000010060f910 00007ffb
4c423d95 : 00000000000001b0 00000000
000001b0 0000000000000000 00000000
00000000 : udwm!CDesktopManager::InitializeComObjects+0x53
000000010060f950 00007ffb
512e8102 : 0000000000000000 00007ffb
4c423c90 00000000000001b0 00000000
00000000 : udwm!CDesktopManager::DwmEventThreadProc+0x105
000000010060fa90 00007ffb
519bc5b4 : 00007ffb512e80e0 00000000
00000000 0000000000000000 00000000
00000000 : KERNEL32!BaseThreadInitThunk+0x22
000000010060fac0 00000000
00000000 : 0000000000000000 00000000
00000000 0000000000000000 00000000
00000000 : ntdll!RtlUserThreadStart+0x34
FOLLOWUP_IP:
PDRDrv64!PDRDrvFastIoQueryStandardInfo+66 [u:\PDRdrv\PDRdrv.c @ 783]
fffff800`4af2be46 488b4908 mov rcx,qword ptr [rcx+8]
FAULTING_SOURCE_LINE: u:\PDRdrv\PDRdrv.c
FAULTING_SOURCE_FILE: u:\PDRdrv\PDRdrv.c
FAULTING_SOURCE_LINE_NUMBER: 783
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: PDRDrv64!PDRDrvFastIoQueryStandardInfo+66
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: PDRDrv64
IMAGE_NAME: PDRDrv64.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 57ab4986
STACK_COMMAND: .cxr 0xffffd0010dbb0920 ; kb
BUCKET_ID_FUNC_OFFSET: 66
FAILURE_BUCKET_ID: 0x3B_PDRDrv64!PDRDrvFastIoQueryStandardInfo
BUCKET_ID: 0x3B_PDRDrv64!PDRDrvFastIoQueryStandardInfo
Followup: MachineOwner