I’m corrupting something unintentionally that’s leading to a CRITICAL_STRUCTURE_CORRUPTION on Windows 8. However, the type field (argument 4 of the bug check) is 0x102, and the defined types only go through 7. Does anyone know what this type refers to so I can figure out what’s going wrong?

This is a PatchGuard BSOD.
What are you hooking/modifying in the system (ntos/win32k/…) ?

I realize it’s PatchGuard, but nothing is being intentionally modified/hooked in the system as far as I know. According to the documentation, the type of modification is described in parameter 4 of the bugcheck, with

0x0 - A generic data region
0x1 - A function modification or the Itanium-based function location
0x2 - A processor interrupt dispatch table (IDT)
0x3 - A processor global descriptor table (GDT)
0x4 - A type-1 process list corruption
0x5 - A type-2 process list corruption
0x6 - A debug routine modification
0x7 - A critical MSR modification

However, the type I’m seeing is 0x102, with zeroed out registers and stack backtrace thanks to PG.

Hi !
I’m suffer such type BSOD during of WFP proxy development.
On my case it does mean a some global list unsafe handling.
Perhaps, you can observe your code since of that point of view.