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);
FxSpinLockTransactionedList()
_Must_inspect_result_ FxTransactionedEntry * GetNextEntryLocked(__in_opt FxTransactionedEntry *Entry)
virtual _Must_inspect_result_ NTSTATUS ProcessAdd(__in FxTransactionedEntry *Entry)
_Must_inspect_result_ FxTransactionedEntry * GetNextEntry(__in_opt FxTransactionedEntry *Entry)
VOID SearchForAndRemove(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PVOID EntryData)
VOID ProcessObjectsToRelease(__in PLIST_ENTRY ReleaseHead)
VOID ProcessTransactionList(__in PLIST_ENTRY ReleaseHead)
VOID UnlockFromEnum(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
LIST_ENTRY m_TransactionHead
BOOLEAN RemoveLocked(__in FxTransactionedEntry *Entry)
virtual VOID EntryRemoved(__in FxTransactionedEntry *Entry)
NTSTATUS Add(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxTransactionedEntry *Entry)
MxEvent * m_DeletingDoneEvent
virtual VOID EntryAdded(__in FxTransactionedEntry *Entry)
VOID LockForEnum(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
ULONG m_ListLockedRecursionCount
VOID Remove(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxTransactionedEntry *Entry)
virtual VOID ReleaseLock(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in KIRQL Irql)=0
BOOLEAN Deleting(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in_opt MxEvent *DeleteDoneEvent)
virtual VOID AcquireLock(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __out PKIRQL Irql)=0
virtual BOOLEAN Compare(__in FxTransactionedEntry *Entry, __in PVOID Data)
FxWaitLockInternal m_StateChangeListLock
#define _Acquires_lock_(lock)
#define _Releases_lock_(lock)
#define NT_SUCCESS(StatCode)
#define __drv_restoresIRQL
#define __drv_requiresIRQL(irql)
#define __drv_raisesIRQL(irql)
#define __drv_maxIRQL(irql)
#define RemoveEntryList(Entry)
#define InsertTailList(ListHead, Entry)
#define IsListEmpty(ListHead)
#define RemoveHeadList(ListHead)
#define InitializeListHead(ListHead)
@ FxTransactionActionNothing
@ FxTransactionActionRemove
#define _Must_inspect_result_
#define UNREFERENCED_PARAMETER(P)
base of all file and directory entries
static FxTransactionedEntry * _FromEntry(__in PLIST_ENTRY Entry)
FxListTransactionAction m_Transaction
struct _LIST_ENTRY * Flink
#define CONTAINING_RECORD(address, type, field)
#define STATUS_INVALID_DEVICE_STATE