PopFxQueueWorkOrder
char __fastcall PopFxQueueWorkOrder(__int64 a1, ULONG_PTR a2, ULONG_PTR a3){
signed __int32 v4;
UINT64 v5;
v4 = _InterlockedIncrement((volatile signed __int32 *)(a2 + 32));
if( v4 == 1 )
{
if( a3 )
PopFxAddRefDevice(a3);
LOBYTE(v4) = ExTryQueueWorkItem((WORK_QUEUE_ITEM *)a2, (WORK_QUEUE_TYPE)48);
if( !(_BYTE)v4 )
{
ExInterlockedInsertTailList(&stru_140C24770, (PLIST_ENTRY)a2, &Lock);
LOBYTE(v4) = KeReleaseSemaphoreEx(&stru_140C24780, 0i64, 1i64, v5);
}
}
return v4;
}Referenced by:
PoFxCompleteDevicePowerNotRequired
PopFxIdleComponent
PopFxIssueComponentPerfStateChanges
PopFxIssueDirectedPowerTransition