38 #if defined(EVENT_TRACING) 39 #include "FxObjectStateMachine.tmh" 124 DeleteWorkerAndUnlock(oldIrql,
TRUE);
148 DeletedAndDisposedWorkerLocked(oldIrql);
268 if (pTagTracker !=
NULL) {
363 if (pTagTracker !=
NULL) {
461 result = PerformEarlyDisposeWorkerAndUnlock(oldIrql,
TRUE);
522 result = PerformEarlyDisposeWorkerAndUnlock(oldIrql,
FALSE);
529 result = PerformEarlyDisposeWorkerAndUnlock(oldIrql,
FALSE);
537 result = PerformDisposingDisposeChildrenLocked(oldIrql,
FALSE);
652 DeletedAndDisposedWorkerLocked(oldIrql,
TRUE);
734 result = PerformDisposingDisposeChildrenLocked(oldIrql,
FALSE);
753 DeletedAndDisposedWorkerLocked(oldIrql,
FALSE);
786 FxObject::PerformDisposingDisposeChildrenLocked(
857 FxObject::PerformEarlyDisposeWorkerAndUnlock(
1122 ASSERT(childObject !=
this);
1199 FxObject::DeletedAndDisposedWorkerLocked(
virtual VOID DeleteObject(VOID)
#define STATUS_DELETE_PENDING
VOID CheckForAbandondedTags(VOID)
VOID __inline SetObjectStateLocked(__in FxObjectState NewState)
FxTagTracker * GetTagTracker(VOID)
_Must_inspect_result_ NTSTATUS RemoveParentAssignment(VOID)
virtual VOID SelfDestruct(VOID)
VOID ProcessDestroy(VOID)
#define UNREFERENCED_PARAMETER(P)
FxObject * m_ParentObject
#define __drv_restoresIRQL
_Releases_lock_(this->m_SpinLock.m_Lock) __drv_requiresIRQL(DISPATCH_LEVEL) BOOLEAN FxObject
VOID ParentDeleteEvent(VOID)
VOID DeferredDisposeWorkItem(VOID)
VOID DeleteEarlyDisposedObject(VOID)
GLfloat GLfloat GLfloat GLfloat h
BOOLEAN PerformEarlyDispose(VOID)
BOOLEAN MarkDeleteCalledLocked(VOID)
BOOLEAN EarlyDispose(VOID)
__drv_requiresIRQL(DISPATCH_LEVEL)) VOID FxObject
BOOLEAN IsPassiveDisposeLocked(VOID)
_When_(Unlock, _Releases_lock_(this->m_SpinLock.m_Lock)) __drv_when(Unlock
FxContextHeader * pHeader
VOID AddToDisposeList(__inout FxObject *Object)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
struct _LIST_ENTRY * Flink
#define NT_SUCCESS(StatCode)
VOID Add(FxObject *object)
#define __drv_when(cond, annotes)
BOOLEAN IsCommitted(VOID)
FxObjectDebugExtension * GetDebugExtension(VOID)
BOOLEAN IsForceDisposeThreadLocked(VOID)
PVOID __inline GetObjectHandleUnchecked(VOID)
void destroy(_Tp *__pointer)
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
CfxDeviceBase * m_DeviceBase
VOID QueueDeferredDisposeLocked(__in FxObjectState NewDeferedState)
#define _Must_inspect_result_
__inline FxDisposeList * GetDisposeList()
VOID __inline DestroyChildren(VOID)
__inline FxContextHeader * GetContextHeader(VOID)
__inline VOID CallCleanup(VOID)
PFX_DRIVER_GLOBALS m_Globals
FxTagTracker * TagTracker
virtual BOOLEAN Dispose(VOID)
LIST_ENTRY m_ChildListHead
void FxPoolFree(__in_xcount(ptr is at an offset from AllocationStart) PVOID ptr)
BOOLEAN ShouldDeferDisposeLocked(__out_opt PKIRQL PreviousIrql=NULL)
static SERVICE_STATUS status
VOID __inline TraceDroppedEvent(__in FxObjectDroppedEvent Event)
_Must_inspect_result_ NTSTATUS RemoveChildObjectInternal(__in FxObject *ChildObject)