64 switch (
pEntry->m_Transaction) {
95 pEntry->GetTransactionedObject()->DeleteObject();
112 pEntry->GetTransactionedObject()->DeleteObject();
232 pEntry->GetTransactionedObject()->DeleteObject();
359 pEntry->GetTransactionedObject()->DeleteObject();
377 Entry->GetTransactionedObject()->DeleteObject();
423 Entry->GetTransactionedObject()->ADDREF(
Entry);
_Acquires_lock_(_Global_critical_region_) VOID FxWaitLockTransactionedList
#define _Must_inspect_result_
VOID Remove(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxTransactionedEntry *Entry)
FxWaitLockInternal m_StateChangeListLock
FxSpinLockTransactionedList()
#define UNREFERENCED_PARAMETER(P)
BOOLEAN Deleting(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in_opt MxEvent *DeleteDoneEvent)
#define __drv_restoresIRQL
VOID SearchForAndRemove(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PVOID EntryData)
#define __drv_maxIRQL(irql)
NTSTATUS Add(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxTransactionedEntry *Entry)
#define InsertTailList(ListHead, Entry)
_Must_inspect_result_ FORCEINLINE BOOLEAN IsListEmpty(_In_ const LIST_ENTRY *ListHead)
_Must_inspect_result_ FxTransactionedEntry * GetNextEntryLocked(__in_opt FxTransactionedEntry *Entry)
MxEvent * m_DeletingDoneEvent
#define STATUS_INVALID_DEVICE_STATE
FORCEINLINE BOOLEAN RemoveEntryList(_In_ PLIST_ENTRY Entry)
VOID UnlockFromEnum(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
virtual VOID EntryRemoved(__in FxTransactionedEntry *Entry)
virtual _Must_inspect_result_ NTSTATUS ProcessAdd(__in FxTransactionedEntry *Entry)
_Releases_lock_(_Global_critical_region_) VOID FxWaitLockTransactionedList
virtual VOID EntryAdded(__in FxTransactionedEntry *Entry)
FORCEINLINE PLIST_ENTRY RemoveHeadList(_Inout_ PLIST_ENTRY ListHead)
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)
VOID LockForEnum(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
__drv_requiresIRQL(DISPATCH_LEVEL) VOID FxSpinLockTransactionedList
struct _LIST_ENTRY * Flink
#define NT_SUCCESS(StatCode)
virtual VOID AcquireLock(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __out PKIRQL Irql)=0
_Must_inspect_result_ FxTransactionedEntry * GetNextEntry(__in_opt FxTransactionedEntry *Entry)
VOID ProcessTransactionList(__in PLIST_ENTRY ReleaseHead)
ULONG m_ListLockedRecursionCount
#define InitializeListHead(ListHead)
VOID ProcessObjectsToRelease(__in PLIST_ENTRY ReleaseHead)
virtual VOID ReleaseLock(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in KIRQL Irql)=0
static FxTransactionedEntry * _FromEntry(__in PLIST_ENTRY Entry)
virtual BOOLEAN Compare(__in FxTransactionedEntry *Entry, __in PVOID Data)
__drv_raisesIRQL(DISPATCH_LEVEL) __drv_maxIRQL(DISPATCH_LEVEL) VOID FxSpinLockTransactionedList
BOOLEAN RemoveLocked(__in FxTransactionedEntry *Entry)
FxListTransactionAction m_Transaction
static SERVICE_STATUS status
base of all file and directory entries
LIST_ENTRY m_TransactionHead