PspJobNotificationWorker
VOID __stdcall PspJobNotificationWorker(PVOID Context){
_EJOB *v1;
_EJOB *NotificationLink;
signed __int32 v3;
_ETHREAD *CurrentThread;
do
{
v1 = (_EJOB *)_InterlockedExchange64(&PspJobNotificationList, -1i64);
do
{
NotificationLink = v1->NotificationLink;
_m_prefetchw(&v1->1320);
v3 = _InterlockedAnd((volatile signed __int32 *)&v1->1320, 0xFFFDDFFF);
if( (v3 & 0x2000) != 0 )
ZwUpdateWnfStateData();
if( (v3 & 0x20000) != 0 )
{
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
PspLockJobExclusive((__int64)v1, (__int64)CurrentThread);
if( v1->CompletionPort && (v1->CompletionFilter & 0x1000) != 0 )
PspSendReliableJobNotification(v1, 0xCui64);
PspUnlockJob((__int64)v1, (__int64)CurrentThread);
}
ObfDereferenceObjectWithTag(v1, 0x6F4E7350ui64);
v1 = NotificationLink;
}
while( NotificationLink && NotificationLink != (_EJOB *)-1i64 );
}
while( _InterlockedCompareExchange64(&PspJobNotificationList, 0i64, -1i64) != -1 );
}Referenced by:
No references.