82 list->DeleteFromFailedCreate();
104 "Could not allocate workitem: %!STATUS!",
status);
179 if (previouslyEmpty) {
__drv_restoresIRQL KIRQL __in BOOLEAN Unlock
virtual VOID DeleteObject(VOID)
static VOID _WorkItemThunk(__in PVOID Parameter)
static _Must_inspect_result_ NTSTATUS _Create(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PVOID WdmObject, __out FxSystemWorkItem **pObject)
#define STATUS_INSUFFICIENT_RESOURCES
static FxObject * _FromDisposeEntry(__in PSINGLE_LIST_ENTRY Entry)
VOID DeferredDisposeWorkItem(VOID)
FxDisposeList(PFX_DRIVER_GLOBALS FxDriverGlobals)
__inline BOOLEAN TryToEnqueue(__in PFN_WDF_SYSTEMWORKITEM CallbackFunc, __in PVOID Parameter)
NTSTATUS Initialize(PVOID wdmObject)
FxSystemWorkItem * m_SystemWorkItem
SINGLE_LIST_ENTRY ** m_ListEnd
VOID MarkDisposeOverride(__in FxObjectLockState State=ObjectLock)
virtual BOOLEAN Dispose(VOID)
#define NT_SUCCESS(StatCode)
VOID Add(FxObject *object)
struct _SINGLE_LIST_ENTRY * Next
VOID DrainListLocked(PKIRQL PreviousIrql)
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
#define TRACE_LEVEL_ERROR
static NTSTATUS _Create(PFX_DRIVER_GLOBALS FxDriverGlobals, PVOID WdmObject, FxDisposeList **pObject)
static __inline MxThread MxGetCurrentThread()
__inline PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
MxThread m_WorkItemThread
virtual BOOLEAN Dispose(VOID)
static SERVICE_STATUS status