While unloading my driver I call IoUnregisterFsRetgistrationChange
The check build gives a bug check indicating APCs should be diaabled.
Is this really true? I don’t find it in the documentation anywhere.
Thanks,
Ken
EX: resource: APCs still enabled before resource 80B1F040 acquire !!!
Break instruction exception - code 80000003 (first chance)
nt!DbgBreakPoint:
80ae0cf0 cc int 3
1: kd> kv
ChildEBP RetAddr Args to Child
f8218af0 80aecb12 f8218b24 80aee62e 80ae0f00 nt!DbgBreakPoint (FPO: [0,0,0])
f8218af8 80aee62e 80ae0f00 80b1f040 814be020
nt!ExCheckIfKernelApcsShouldBeDisabled+0x38 (FPO: [Non-Fpo])
f8218b24 80c6120e 80b1f040 00000001 8170a2c0
nt!ExAcquireResourceExclusiveLite+0x70 (FPO: [Non-Fpo])
f8218b3c f7a53a47 816d0688 f7a4ac90 bf8a34b2
nt!IoUnregisterFsRegistrationChange+0x46 (FPO: [Non-Fpo])
f8218bc4 f7a681c8 8170a2c0 81af59c8 8170a2c0
RepliStor!OctopusDeviceControl+0x9b7 (FPO: [Non-Fpo]) (CONV: stdcall)
[c:\dev\octmain\octopus\src\kernel\octoctrl.c @ 1809]
f8218c20 80a2673c 8170a2c0 81af59c8 81af5a38
RepliStor!OctopusIrpDispatch+0x178 (FPO: [Non-Fpo]) (CONV: stdcall)
[c:\dev\octmain\octopus\src\kernel\passthru.c @ 301]
f8218c3c 80c70bed 81af5a38 815adf90 81af59c8 nt!IofCallDriver+0x62 (FPO:
[Non-Fpo])
f8218c54 80c71b0d 8170a2c0 81af59c8 815adf90
nt!IopSynchronousServiceTail+0x159 (FPO: [Non-Fpo])
f8218cf4 80c673aa 000004c0 00000000 00000000 nt!IopXxxControlFile+0x665
(FPO: [Non-Fpo])
f8218d28 80afbc92 000004c0 00000000 00000000 nt!NtDeviceIoControlFile+0x28
(FPO: [Non-Fpo])
f8218d28 7ffe0304 000004c0 00000000 00000000 nt!KiSystemService+0x13f (FPO:
[0,3] TrapFrame @ f8218d64)
0012f470 77f2ee58 77e3fde6 000004c0 00000000
SharedUserData!SystemCallStub+0x4 (FPO: [0,0,0])
0012f474 77e3fde6 000004c0 00000000 00000000 ntdll!NtDeviceIoControlFile+0xc
(FPO: [10,0,0])
0012f4d8 00403d5a 000004c0 0008282c 0012f54c kernel32!DeviceIoControl+0x12f
(FPO: [Non-Fpo])
WARNING: Stack unwind information not available. Following frames may be
wrong.
00000000 00000000 00000000 00000000 00000000 WINZIP32+0x3d5a