KeRemoveQueueApc
INT8 __fastcall KeRemoveQueueApc(INT64 a1){
INT64 v1;
unsigned __int8 CurrentIrql;
INT8 v4;
UINT64 SpinCount;
v1 = *(_QWORD *)(a1 + 8);
CurrentIrql = KeGetCurrentIrql();
__writecr8(2ui64);
LODWORD(SpinCount) = 0;
while( _interlockedbittestandset64((volatile signed __int32 *)(v1 + 64), 0i64) )
{
do
KeYieldProcessorEx(&SpinCount);
while( *(_QWORD *)(v1 + 64) );
}
v4 = KiRemoveQueueApc((_KAPC *)a1);
KiReleaseThreadLockSafe(v1);
__writecr8(CurrentIrql);
return v4;
}Referenced by:
CmNotifyRunDown
EtwpCancelPendingStackwalkApcs
EtwpCovSampCaptureCancelApcs
EtwpQueueStackWalkApc
EtwpTraceThreadRundownWithStack
ExpCancelTimer
ExpSetTimerObject