PnprQuiesceWorker
VOID *__fastcall PnprQuiesceWorker(PVOID P){
int v2;
__int64 v3;
int v4;
VOID *v6[2];
__int128 v7[3];
__int64 v8;
int v9;
memset(v7, 0, sizeof(v7));
v8 = 0i64;
v9 = 0;
v6[0] = (VOID *)(PnprContext + 20760);
v6[1] = (VOID *)(PnprContext + 20808);
if( KeWaitForMultipleObjects(2ui64, v6, WaitAny, Executive, 0, 0, 0i64, 0i64) != 1 )
{
PnprLockPagesForReplace();
v2 = PnprQuiesceDevices((__int64)v7);
v3 = PnprContext;
v4 = v2;
*(_DWORD *)(PnprContext + 20856) = v2;
KeSetEvent((PRKEVENT)(v3 + 20784), 0, 0);
if( v4 >= 0 )
{
KeWaitForSingleObject(PnprContext + 20808, 0, 0, 0, 0i64);
PnprWakeDevices((__int64)v7);
}
PnprCompleteWake();
}
KeSetEvent((PRKEVENT)(PnprContext + 20832), 0, 0);
return ExFreePoolWithTag(P, 0x51706E50u);
}Referenced by:
No references.