PopFxQueueWorkOrder
VOID __stdcall PopFxQueueWorkOrder(
_KQUEUE *WorkQueue,
_POP_FX_WORK_ORDER *WorkOrder,
_POP_FX_DEVICE *FxDevice,
UINT8 UseEmergencyWorkQueue){
VOID *v5;
UINT64 v6;
if( _InterlockedIncrement(&WorkOrder->WorkCount) == 1 )
{
if( FxDevice )
PopFxAddRefDevice((POP_FX_DEVICE *)FxDevice);
if( !ExTryQueueWorkItem(&WorkOrder->WorkItem, (_WORK_QUEUE_TYPE)48) )
{
ExInterlockedInsertTailList(
(PLIST_ENTRY)((char *)&stru_140C23628 + 4424),
&WorkOrder->WorkItem.List,
(PKSPIN_LOCK)&stru_140C23628 + 552);
LODWORD(v6) = 0;
KeReleaseSemaphoreEx((_KSEMAPHORE *)((char *)&stru_140C23628 + 4440), 0i64, 1i64, v5, v6);
}
}
}Referenced by:
PoFxCompleteDevicePowerNotRequired
PopFxIdleComponent
PopFxIssueComponentPerfStateChanges
PopFxIssueDirectedPowerTransition