PopPrepChildWake
VOID __stdcall PopPrepChildWake(_PO_DEVICE_NOTIFY *Notify, _PO_DEVICE_NOTIFY_ORDER *Order){
char v2;
unsigned int ActiveParent;
_LIST_ENTRY *Flink;
_LIST_ENTRY *Blink;
_LIST_ENTRY *p_WaitS0;
_LIST_ENTRY *v8;
if( !v2 || ((__int64)Notify[5].DriverName & 0x30000) != 0 )
{
ActiveParent = Notify->ActiveParent;
if( ActiveParent == Notify->ParentCount )
{
Flink = Notify->Link.Flink;
if( (_PO_DEVICE_NOTIFY *)Notify->Link.Flink->Blink != Notify
|| (Blink = Notify->Link.Blink, (_PO_DEVICE_NOTIFY *)Blink->Flink != Notify)
|| (Blink->Flink = Flink,
Flink->Blink = Blink,
p_WaitS0 = &Order->OrderLevel[Notify->OrderLevel].WaitS0,
v8 = p_WaitS0->Blink,
v8->Flink != p_WaitS0) )
{
__fastfail(3u);
}
Notify->Link.Flink = p_WaitS0;
Notify->Link.Blink = v8;
v8->Flink = &Notify->Link;
p_WaitS0->Blink = &Notify->Link;
ActiveParent = Notify->ActiveParent;
}
Notify->ActiveParent = ActiveParent - 1;
}
}Referenced by:
PopCompleteNotifyTransitionCommon