PspSendWakeNotification
UINT8 __stdcall PspSendWakeNotification(
_EJOB *Job,
UINT64 WakeReason,
_JOBOBJECT_WAKE_FILTER *WakeFilter,
UINT64 NewValue,
UINT64 Flags){
PS_WAKE_REASON v7;
v7 = (int)WakeReason;
if( (((1 << WakeReason) & WakeFilter->LowEdgeFilter) == 0 || NewValue)
&& (((1 << WakeReason) & WakeFilter->HighEdgeFilter) == 0
|| (Flags & 2) == 0
|| NewValue != 1 && (NewValue <= 1 || (Flags & 1) == 0)) )
{
return 0;
}
ObfReferenceObjectWithTag(Job, 0x6F4E7350ui64);
if( (xmmword_140CFB490 & 0x400) != 0 && (Flags & 4) != 0 && NewValue == 1 )
EtwTraceWakeEvent(Job, v7);
if( !PspRequestDeferredJobNotification(Job, 0x2000ui64) )
ObfDereferenceObjectWithTag(Job, 0x6F4E7350ui64);
return 1;
}Referenced by:
PspChargeJobWakeCounter
PspDispatchWakeNotification