31#if defined(EVENT_TRACING)
32#include "EventQueue.tmh"
68 "Initializing state machine lock failed for EventQueue 0x%p, "
143 "WDFDEVICE 0x%p !devobj 0x%p delaying deletion to outside state machine",
208 "WDFDEVICE 0x%p !devobj 0x%p not queueing work item to process "
245#if (FX_CORE_MODE==FX_CORE_KERNEL_MODE)
396 This->EventQueueWorker();
436 This->EventQueueWorker();
WDFDEVICE __inline GetHandle(VOID)
MdDeviceObject __inline GetDeviceObject(VOID)
__inline PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
__inline CfxDevice * GetDevice(VOID)
VOID QueueToPowerThread(__in PWORK_QUEUE_ITEM WorkItem)
BOOLEAN HasPowerThread(VOID)
CHECK_RETURN_IF_USER_MODE NTSTATUS Initialize()
__inline VOID Enqueue(__in PMX_WORKITEM_ROUTINE Callback, __in PVOID Context)
_Must_inspect_result_ __inline NTSTATUS Allocate(__in MdDeviceObject DeviceObject, __in_opt PVOID ThreadPoolEnv=NULL)
#define NT_SUCCESS(StatCode)
_Must_inspect_result_ _In_ PFLT_CALLBACK_DATA _In_ PFLT_DEFERRED_IO_WORKITEM_ROUTINE WorkerRoutine
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
FX_TRACK_DRIVER(fxDriverGlobals)
VOID(* PFN_PNP_EVENT_WORKER)(__in FxPkgPnp *PkgPnp, __in FxPostProcessInfo *Info, __in PVOID Context)
@ FxEventQueueFlagWorkItemQueued
@ FxEventQueueFlagDelayDeletion
#define _Must_inspect_result_
#define UNREFERENCED_PARAMETER(P)
#define TRACE_LEVEL_ERROR
#define TRACE_LEVEL_INFORMATION
BOOLEAN QueueToThreadWorker(VOID)
FxEventQueue(__in UCHAR QueueDepth)
UCHAR m_WorkItemRunningCount
VOID EventQueueWorker(VOID)
BOOLEAN IsIdleLocked(VOID)
FxWaitLockInternal m_StateMachineLock
VOID Configure(__in FxPkgPnp *Pnp, __in PFN_PNP_EVENT_WORKER WorkerRoutine, __in PVOID Context)
FxCREvent * m_WorkItemFinished
BOOLEAN SetFinished(__in FxCREvent *Event)
VOID GetFinishedState(__inout FxPostProcessInfo *Info)
PFN_PNP_EVENT_WORKER m_EventWorker
_Must_inspect_result_ NTSTATUS Initialize(__in PFX_DRIVER_GLOBALS DriverGlobals)
PVOID m_EventWorkerContext
VOID SetDelayedDeletion(VOID)
static MX_WORKITEM_ROUTINE _WorkItemCallback
_Must_inspect_result_ NTSTATUS Init(__inout FxPkgPnp *Pnp, __in PFN_PNP_EVENT_WORKER WorkerRoutine, __in PVOID WorkerContext=NULL)
~FxThreadedEventQueue(VOID)
WORK_QUEUE_ITEM m_EventWorkQueueItem
static WORKER_THREAD_ROUTINE _WorkerThreadRoutine
FxThreadedEventQueue(__in UCHAR QueueDepth)
FxWorkItemEventQueue(__in UCHAR QueueDepth)
_Must_inspect_result_ NTSTATUS Init(__inout FxPkgPnp *Pnp, __in PFN_PNP_EVENT_WORKER WorkerRoutine, __in PVOID WorkerContext=NULL)
PVOID GetIoMgrObjectForWorkItemAllocation(VOID)
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
#define ExInitializeWorkItem(Item, Routine, Context)
WORKER_THREAD_ROUTINE * PWORKER_THREAD_ROUTINE