KeEnumerateKernelStackSegments
VOID __stdcall KeEnumerateKernelStackSegments(
_ETHREAD *Thread,
VOID *Callback,
_ETHREAD *a3,
_KERNEL_STACK_SEGMENT *a4,
VOID *a5,
VOID *Context){
UINT8 NextKernelStackSegment;
__int64 v10;
_KERNEL_STACK_SEGMENT StackSegment;
_KERNEL_STACK_SEGMENT v12;
memset(&StackSegment, 0, sizeof(StackSegment));
KeGetNextKernelStackSegment(&Thread->Tcb, &StackSegment, 1u);
do
{
v12 = StackSegment;
NextKernelStackSegment = KeGetNextKernelStackSegment(&Thread->Tcb, &StackSegment, 0);
((void(__fastcall *)(__int64, _KERNEL_STACK_SEGMENT *, _ETHREAD *))Callback)(v10, &v12, a3);
}
while( NextKernelStackSegment );
}Referenced by:
DbgkpLkmdSnapKernelStack
MmOutPageKernelStack
PspThreadDelete