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