27#ifndef _FXSYSTEMWORKITEM_H
28#define _FXSYSTEMWORKITEM_H
#define InterlockedIncrement
#define InterlockedDecrement
virtual _Must_inspect_result_ NTSTATUS QueryInterface(__in FxQueryInterfaceParams *Params)
FxCREvent m_WorkItemCompleted
static _Must_inspect_result_ NTSTATUS _Create(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PVOID WdmObject, __out FxSystemWorkItem **pObject)
__inline VOID ReleaseWorkItemQueuedCountAndWait()
__inline VOID IncrementWorkItemQueued()
LONG m_OutStandingWorkItem
__inline MdWorkItem GetWorkItemPtr(VOID)
ULONG m_WorkItemRunningCount
DECLARE_INTERNAL_NEW_OPERATOR()
PFN_WDF_SYSTEMWORKITEM m_Callback
virtual BOOLEAN Dispose(VOID)
__inline VOID DecrementWorkItemQueued()
__inline BOOLEAN TryToEnqueue(__in PFN_WDF_SYSTEMWORKITEM CallbackFunc, __in PVOID Parameter)
BOOLEAN EnqueueWorker(__in PFN_WDF_SYSTEMWORKITEM Func, __in PVOID Parameter, __in BOOLEAN AssertIfAlreadyQueued)
__inline BOOLEAN Enqueue(__in PFN_WDF_SYSTEMWORKITEM CallbackFunc, __in PVOID Parameter)
virtual _Must_inspect_result_ NTSTATUS QueryInterface(__inout FxQueryInterfaceParams *Params)
static MX_WORKITEM_ROUTINE _WorkItemThunk
virtual ~FxSystemWorkItem()
__inline MdWorkItem GetWorkItem()
#define NT_SUCCESS(StatCode)
#define __drv_maxFunctionIRQL(irql)
#define __drv_maxIRQL(irql)
EVT_SYSTEMWORKITEM FN_WDF_SYSTEMWORKITEM
EVT_SYSTEMWORKITEM * PFN_WDF_SYSTEMWORKITEM
IO_WORKITEM_ROUTINE MX_WORKITEM_ROUTINE
#define _Must_inspect_result_
#define _Function_class_(n)
#define UNREFERENCED_PARAMETER(P)
NTSTATUS EnterCRAndWaitAndLeave(VOID)
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
_Inout_opt_ PVOID Parameter