CmFcpWorkItemQueueWork

NTSTATUS __stdcall CmFcpWorkItemQueueWork(PWORK_QUEUE_ITEM WorkItem){
  NTSTATUS result; 
  result = _InterlockedExchange((volatile __int32 *)&WorkItem[1].List.Blink, 3);
  if( (result & 1) == 0 )
  {
    ExAcquireRundownProtection((PEX_RUNDOWN_REF)&WorkItem[1]);
    ExQueueWorkItem(WorkItem, SHIDWORD(WorkItem[1].List.Blink));
  }
  return result;
}

Referenced by:

CmFcManagerNotifyFeatureUsage
CmFcManagerRegisterFeatureConfigurationChangeNotification
CmFcpManagerDrainUsageNotificationsDpc
CmFcpManagerPublishChangeNotifications
CmFcpManagerRetryUsageNotificationsTimerRoutine