PopDiagDeviceRundownWorker
VOID __stdcall PopDiagDeviceRundownWorker(VOID *Context){
_DEVICE_NODE *v1;
_DEVICE_NODE *i;
_DEVICE_NODE *Sibling;
_InterlockedExchange(&PopDiagDeviceRundownRequests, 0);
IoControlPnpDeviceActionQueue(1u);
v1 = (_DEVICE_NODE *)*(&PnpReplaceEvent + 831);
for( i = *(_DEVICE_NODE **)(*(&PnpReplaceEvent + 831) + 8i64); i; i = i->Child )
v1 = i;
while( v1 != (_DEVICE_NODE *)*(&PnpReplaceEvent + 831) )
{
PoDiagTraceDeviceRundown(v1, &v1->InstancePath, &v1->ServiceName, v1->CurrentPowerState.DeviceState);
Sibling = v1->Sibling;
if( v1->Sibling )
{
do
{
v1 = Sibling;
Sibling = Sibling->Child;
}
while( Sibling );
}
else
{
v1 = v1->Parent;
}
}
IoControlPnpDeviceActionQueue(0);
}Referenced by:
No references.