DbgkpWakeTarget
NTSTATUS __stdcall DbgkpWakeTarget(
PVOID *DebugObjectHandle,
UINT64 DesiredAccess,
OBJECT_ATTRIBUTES *ObjectAttributes,
UINT64 Flags){
int v4;
struct _EX_RUNDOWN_REF *v6;
NTSTATUS result;
v4 = *((_DWORD *)DebugObjectHandle + 19);
v6 = (struct _EX_RUNDOWN_REF *)DebugObjectHandle[8];
if( (v4 & 0x20) != 0 )
{
PsResumeThread((__int64)DebugObjectHandle[8], 0i64);
v4 = *((_DWORD *)DebugObjectHandle + 19);
}
if( (v4 & 8) != 0 )
{
ExReleaseRundownProtection(v6 + 159);
v4 = *((_DWORD *)DebugObjectHandle + 19);
}
if( (v4 & 2) == 0 )
return KeSetEvent((PRKEVENT)(DebugObjectHandle + 2), 0);
DbgkpFreeDebugEvent(DebugObjectHandle);
return result;
}Referenced by:
DbgkClearProcessDebugObject
DbgkpCloseObject
DbgkpSetProcessDebugObject
NtDebugContinue