#include "FsRtlP.h"
Go to the source code of this file.
Classes | |
struct | _NONOPAQUE_OPLOCK |
struct | _WAITING_IRP |
Defines | |
#define | Dbg (0x08000000) |
#define | FILTER_OPLOCK_VALID_FLAGS |
#define | NO_OPLOCK (0x00000001) |
#define | LEVEL_I_OPLOCK (0x00000002) |
#define | BATCH_OPLOCK (0x00000004) |
#define | FILTER_OPLOCK (0x00000008) |
#define | LEVEL_II_OPLOCK (0x00000010) |
#define | OPLOCK_TYPE_MASK (0x0000001f) |
#define | EXCLUSIVE (0x00000040) |
#define | PENDING (0x00000080) |
#define | OPLOCK_HELD_MASK (0x000000c0) |
#define | BREAK_TO_II (0x00000100) |
#define | BREAK_TO_NONE (0x00000200) |
#define | BREAK_TO_II_TO_NONE (0x00000400) |
#define | CLOSE_PENDING (0x00000800) |
#define | OPLOCK_BREAK_MASK (0x00000f00) |
#define | NoOplocksHeld (NO_OPLOCK) |
#define | OplockIGranted (LEVEL_I_OPLOCK | EXCLUSIVE) |
#define | OpBatchGranted (BATCH_OPLOCK | EXCLUSIVE) |
#define | OpFilterGranted (FILTER_OPLOCK | EXCLUSIVE) |
#define | OpFilterReqPending (FILTER_OPLOCK | EXCLUSIVE | PENDING ) |
#define | OplockBreakItoII (LEVEL_I_OPLOCK | EXCLUSIVE | BREAK_TO_II) |
#define | OpBatchBreaktoII (BATCH_OPLOCK | EXCLUSIVE | BREAK_TO_II) |
#define | OpFilterBreaktoII (FILTER_OPLOCK | EXCLUSIVE | BREAK_TO_II) |
#define | OplockBreakItoNone (LEVEL_I_OPLOCK | EXCLUSIVE | BREAK_TO_NONE) |
#define | OpBatchBreaktoNone (BATCH_OPLOCK | EXCLUSIVE | BREAK_TO_NONE) |
#define | OpFilterBreaktoNone (FILTER_OPLOCK | EXCLUSIVE | BREAK_TO_NONE) |
#define | OplockBreakItoIItoNone (LEVEL_I_OPLOCK | EXCLUSIVE | BREAK_TO_II_NONE) |
#define | OpBatchBreaktoIItoNone (BATCH_OPLOCK | EXCLUSIVE | BREAK_TO_II_NONE) |
#define | OpFilterBreaktoIItoNone (FILTER_OPLOCK | EXCLUSIVE | BREAK_TO_II_NONE) |
#define | OpBatchClosePending (BATCH_OPLOCK | EXCLUSIVE | CLOSE_PENDING) |
#define | OpFilterClosePending (FILTER_OPLOCK | EXCLUSIVE | CLOSE_PENDING) |
#define | OplockIIGranted (LEVEL_II_OPLOCK) |
#define | MODULE_POOL_TAG ('orSF') |
Typedefs | |
typedef ULONG | OPLOCK_STATE |
typedef _NONOPAQUE_OPLOCK | NONOPAQUE_OPLOCK |
typedef _NONOPAQUE_OPLOCK * | PNONOPAQUE_OPLOCK |
typedef _WAITING_IRP | WAITING_IRP |
typedef _WAITING_IRP * | PWAITING_IRP |
Functions | |
PNONOPAQUE_OPLOCK | FsRtlAllocateOplock () |
NTSTATUS | FsRtlRequestExclusiveOplock (IN OUT PNONOPAQUE_OPLOCK *Oplock, IN PIO_STACK_LOCATION IrpSp, IN PIRP Irp OPTIONAL, IN OPLOCK_STATE NextOplockState) |
NTSTATUS | FsRtlRequestOplockII (IN OUT PNONOPAQUE_OPLOCK *Oplock, IN PIO_STACK_LOCATION IrpSp, IN PIRP Irp) |
NTSTATUS | FsRtlAcknowledgeOplockBreak (IN OUT PNONOPAQUE_OPLOCK Oplock, IN PIO_STACK_LOCATION IrpSp, IN PIRP Irp, IN BOOLEAN GrantLevelII) |
NTSTATUS | FsRtlOpBatchBreakClosePending (IN OUT PNONOPAQUE_OPLOCK Oplock, IN PIO_STACK_LOCATION IrpSp, IN PIRP Irp) |
NTSTATUS | FsRtlOplockBreakNotify (IN OUT PNONOPAQUE_OPLOCK Oplock, IN PIO_STACK_LOCATION IrpSp, IN PIRP Irp) |
VOID | FsRtlOplockCleanup (IN OUT PNONOPAQUE_OPLOCK Oplock, IN PIO_STACK_LOCATION IrpSp) |
NTSTATUS | FsRtlOplockBreakToII (IN OUT PNONOPAQUE_OPLOCK Oplock, IN PIO_STACK_LOCATION IrpSp, IN PIRP Irp, IN PVOID Context, IN POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine OPTIONAL, IN POPLOCK_FS_PREPOST_IRP PostIrpRoutine OPTIONAL) |
NTSTATUS | FsRtlOplockBreakToNone (IN OUT PNONOPAQUE_OPLOCK Oplock, IN PIO_STACK_LOCATION IrpSp, IN PIRP Irp, IN PVOID Context, IN POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine OPTIONAL, IN POPLOCK_FS_PREPOST_IRP PostIrpRoutine OPTIONAL) |
VOID | FsRtlRemoveAndCompleteIrp (IN PLIST_ENTRY Link) |
NTSTATUS | FsRtlWaitOnIrp (IN OUT PNONOPAQUE_OPLOCK Oplock, IN PIRP Irp, IN PVOID Context, IN POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine OPTIONAL, IN POPLOCK_FS_PREPOST_IRP PostIrpRoutine OPTIONAL, IN PKEVENT Event) |
VOID | FsRtlCompletionRoutinePriv (IN PVOID Context, IN PIRP Irp) |
VOID | FsRtlCancelWaitIrp (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
VOID | FsRtlCancelOplockIIIrp (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
VOID | FsRtlCancelExclusiveIrp (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
VOID | FsRtlRemoveAndCompleteWaitIrp (IN PWAITING_IRP WaitingIrp) |
VOID | FsRtlNotifyCompletion (IN PVOID Context, IN PIRP Irp) |
VOID | FsRtlInitializeOplock (IN OUT POPLOCK Oplock) |
VOID | FsRtlUninitializeOplock (IN OUT POPLOCK Oplock) |
NTSTATUS | FsRtlOplockFsctrl (IN POPLOCK Oplock, IN PIRP Irp, IN ULONG OpenCount) |
NTSTATUS | FsRtlCheckOplock (IN POPLOCK Oplock, IN PIRP Irp, IN PVOID Context, IN POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine OPTIONAL, IN POPLOCK_FS_PREPOST_IRP PostIrpRoutine OPTIONAL) |
BOOLEAN | FsRtlOplockIsFastIoPossible (IN POPLOCK Oplock) |
BOOLEAN | FsRtlCurrentBatchOplock (IN POPLOCK Oplock) |
|
Definition at line 78 of file oplock.c. Referenced by FsRtlCheckOplock(), FsRtlCurrentBatchOplock(), and FsRtlOplockBreakToII(). |
|
Definition at line 89 of file oplock.c. Referenced by FsRtlAcknowledgeOplockBreak(), FsRtlOpBatchBreakClosePending(), FsRtlOplockBreakToII(), and FsRtlOplockBreakToNone(). |
|
Definition at line 91 of file oplock.c. Referenced by FsRtlAcknowledgeOplockBreak(), FsRtlOpBatchBreakClosePending(), and FsRtlOplockBreakToNone(). |
|
Definition at line 90 of file oplock.c. Referenced by FsRtlAcknowledgeOplockBreak(), FsRtlOpBatchBreakClosePending(), FsRtlOplockBreakToII(), and FsRtlOplockBreakToNone(). |
|
Definition at line 92 of file oplock.c. Referenced by FsRtlOpBatchBreakClosePending(). |
|
|
|
Definition at line 84 of file oplock.c. Referenced by FsRtlOplockBreakToII(), and FsRtlOplockFsctrl(). |
|
Definition at line 79 of file oplock.c. Referenced by FsRtlCheckOplock(), and FsRtlCurrentBatchOplock(). |
|
Value:
Definition at line 57 of file oplock.c. Referenced by FsRtlCheckOplock(). |
|
Definition at line 77 of file oplock.c. Referenced by FsRtlOpBatchBreakClosePending(), FsRtlOplockBreakToII(), and FsRtlOplockFsctrl(). |
|
Definition at line 80 of file oplock.c. Referenced by FsRtlOplockBreakToNone(), FsRtlOplockIsFastIoPossible(), FsRtlRequestExclusiveOplock(), and FsRtlRequestOplockII(). |
|
|
|
Definition at line 76 of file oplock.c. Referenced by FsRtlRequestExclusiveOplock(), and FsRtlRequestOplockII(). |
|
Definition at line 100 of file oplock.c. Referenced by FsRtlAcknowledgeOplockBreak(), FsRtlAllocateOplock(), FsRtlCancelExclusiveIrp(), FsRtlCancelOplockIIIrp(), FsRtlCheckOplock(), FsRtlOpBatchBreakClosePending(), FsRtlOplockBreakNotify(), FsRtlOplockBreakToII(), FsRtlOplockBreakToNone(), and FsRtlOplockCleanup(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 105 of file oplock.c. Referenced by FsRtlOplockFsctrl(), and FsRtlRequestExclusiveOplock(). |
|
Definition at line 94 of file oplock.c. Referenced by FsRtlOpBatchBreakClosePending(), FsRtlOplockBreakNotify(), FsRtlOplockBreakToII(), FsRtlOplockBreakToNone(), FsRtlOplockCleanup(), and FsRtlOplockIsFastIoPossible(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 122 of file oplock.c. Referenced by FsRtlAcknowledgeOplockBreak(), FsRtlCheckOplock(), FsRtlOplockBreakToNone(), FsRtlOplockCleanup(), FsRtlRequestExclusiveOplock(), and FsRtlRequestOplockII(). |
|
Definition at line 85 of file oplock.c. Referenced by FsRtlOpBatchBreakClosePending(), FsRtlOplockBreakNotify(), FsRtlOplockBreakToII(), FsRtlOplockBreakToNone(), FsRtlOplockCleanup(), and FsRtlRequestExclusiveOplock(). |
|
Referenced by FsRtlAllocateOplock(). |
|
Definition at line 128 of file oplock.c. Referenced by FsRtlCheckOplock(), FsRtlOplockFsctrl(), and FsRtlOplockIsFastIoPossible(). |
|
|
|
|
|
Definition at line 1678 of file oplock.c. References ASSERT, BREAK_TO_II, BREAK_TO_II_TO_NONE, BREAK_TO_NONE, _IRP::Cancel, _IRP::CancelIrql, Dbg, DebugTrace, ExAcquireFastMutexUnsafe(), ExReleaseFastMutexUnsafe(), FALSE, FlagOn, FsRtlCancelOplockIIIrp(), FsRtlCompleteRequest, FsRtlRemoveAndCompleteWaitIrp(), IoAcquireCancelSpinLock(), IoIsOperationSynchronous(), IoMarkIrpPending, IoReleaseCancelSpinLock(), IoSetCancelRoutine, _IRP::IoStatus, Irp, NoOplocksHeld, NTSTATUS(), NULL, ObDereferenceObject, OplockIIGranted, PWAITING_IRP, Status, _IRP::Tail, TRUE, and try_return. Referenced by FsRtlOplockFsctrl().
|
|
Definition at line 1221 of file oplock.c. References Dbg, DebugTrace, ExFreePool(), ExInitializeFastMutex, _NONOPAQUE_OPLOCK::FastMutex, FsRtlpAllocatePool, _NONOPAQUE_OPLOCK::IrpOplocksII, NONOPAQUE_OPLOCK, NonPagedPool, NoOplocksHeld, NULL, _NONOPAQUE_OPLOCK::OplockState, PAGED_CODE, PagedPool, PNONOPAQUE_OPLOCK, and _NONOPAQUE_OPLOCK::WaitingIrps. Referenced by FsRtlRequestExclusiveOplock(), and FsRtlRequestOplockII().
|
|
Definition at line 3519 of file oplock.c. References _IRP::Cancel, _IRP::CancelIrql, Dbg, DebugTrace, _NONOPAQUE_OPLOCK::FastMutex, _NONOPAQUE_OPLOCK::FileObject, FsRtlCompleteRequest, FsRtlRemoveAndCompleteWaitIrp(), IoReleaseCancelSpinLock(), IoSetCancelRoutine, _IRP::IoStatus, Irp, _NONOPAQUE_OPLOCK::IrpExclusiveOplock, NoOplocksHeld, NULL, ObDereferenceObject, _NONOPAQUE_OPLOCK::OplockState, PNONOPAQUE_OPLOCK, PWAITING_IRP, and _NONOPAQUE_OPLOCK::WaitingIrps. Referenced by FsRtlRequestExclusiveOplock().
|
|
Definition at line 3396 of file oplock.c. References _IRP::Cancel, _IRP::CancelIrql, Dbg, DebugTrace, FALSE, _NONOPAQUE_OPLOCK::FastMutex, FsRtlRemoveAndCompleteIrp(), IoReleaseCancelSpinLock(), IoSetCancelRoutine, _IRP::IoStatus, Irp, _NONOPAQUE_OPLOCK::IrpOplocksII, NoOplocksHeld, NULL, _NONOPAQUE_OPLOCK::OplockState, PNONOPAQUE_OPLOCK, and TRUE. Referenced by FsRtlAcknowledgeOplockBreak(), and FsRtlRequestOplockII().
|
|
Definition at line 3288 of file oplock.c. References _IRP::Cancel, _IRP::CancelIrql, Dbg, DebugTrace, _NONOPAQUE_OPLOCK::FastMutex, FsRtlRemoveAndCompleteWaitIrp(), IoReleaseCancelSpinLock(), IoSetCancelRoutine, _IRP::IoStatus, _WAITING_IRP::Irp, Irp, NULL, PNONOPAQUE_OPLOCK, PWAITING_IRP, and _NONOPAQUE_OPLOCK::WaitingIrps. Referenced by FsRtlWaitOnIrp().
|
|
Definition at line 823 of file oplock.c. References BATCH_OPLOCK, Dbg, DebugTrace, FALSE, _NONOPAQUE_OPLOCK::FileObject, _IO_STACK_LOCATION::FileObject, FILTER_OPLOCK, FILTER_OPLOCK_VALID_FLAGS, FlagOn, _IRP::Flags, FsRtlOplockBreakToII(), FsRtlOplockBreakToNone(), FsRtlOplockCleanup(), IoGetCurrentIrpStackLocation, Irp, IRP_MJ_CLEANUP, IRP_MJ_CREATE, IRP_MJ_FILE_SYSTEM_CONTROL, IRP_MJ_FLUSH_BUFFERS, IRP_MJ_LOCK_CONTROL, IRP_MJ_READ, IRP_MJ_SET_INFORMATION, IRP_MJ_WRITE, IRP_PAGING_IO, _IO_STACK_LOCATION::MajorFunction, NoOplocksHeld, NTSTATUS(), NULL, OPLOCK_STATE, OplockIIGranted, _NONOPAQUE_OPLOCK::OplockState, _IO_STACK_LOCATION::Parameters, PNONOPAQUE_OPLOCK, Status, and TRUE. Referenced by UdfCommonCleanup(), UdfCommonLockControl(), UdfCommonRead(), and UdfCompleteFcbOpen().
|
|
Definition at line 3241 of file oplock.c. References Dbg, DebugTrace, FALSE, Irp, KeSetEvent(), and PAGED_CODE. Referenced by FsRtlWaitOnIrp().
|
|
Definition at line 1169 of file oplock.c. References BATCH_OPLOCK, Dbg, DebugTrace, FALSE, FILTER_OPLOCK, FlagOn, NULL, PAGED_CODE, PNONOPAQUE_OPLOCK, and TRUE. Referenced by UdfCompleteFcbOpen().
|
|
Definition at line 373 of file oplock.c. References Dbg, DebugTrace, and PAGED_CODE.
|
|
Definition at line 3698 of file oplock.c. References Dbg, DebugTrace, FsRtlCompleteRequest, _IRP::IoStatus, Irp, and PAGED_CODE. Referenced by FsRtlOplockBreakNotify().
|
|
Definition at line 1937 of file oplock.c. References BREAK_TO_II, BREAK_TO_II_TO_NONE, BREAK_TO_NONE, ClearFlag, CLOSE_PENDING, Dbg, DebugTrace, ExAcquireFastMutexUnsafe(), ExReleaseFastMutexUnsafe(), FlagOn, FsRtlCompleteRequest, FsRtlRemoveAndCompleteWaitIrp(), Irp, LEVEL_I_OPLOCK, NoOplocksHeld, NTSTATUS(), NULL, ObDereferenceObject, OPLOCK_BREAK_MASK, PAGED_CODE, PENDING, PWAITING_IRP, SetFlag, Status, and TRUE. Referenced by FsRtlOplockFsctrl().
|
|
Definition at line 2111 of file oplock.c. References Dbg, DebugTrace, ExAcquireFastMutexUnsafe(), ExReleaseFastMutexUnsafe(), FALSE, FlagOn, FsRtlCompleteRequest, FsRtlNotifyCompletion(), FsRtlWaitOnIrp(), _IRP::IoStatus, Irp, NoOplocksHeld, NTSTATUS(), NULL, OPLOCK_BREAK_MASK, PAGED_CODE, PENDING, Status, TRUE, and try_return. Referenced by FsRtlOplockFsctrl().
|
|
Definition at line 2454 of file oplock.c. References BATCH_OPLOCK, BREAK_TO_II, BREAK_TO_NONE, _IRP::Cancel, _IRP::CancelIrql, Dbg, DebugTrace, Event(), ExAcquireFastMutexUnsafe(), EXCLUSIVE, ExReleaseFastMutexUnsafe(), FALSE, FlagOn, FsRtlCompleteRequest, FsRtlRemoveAndCompleteWaitIrp(), FsRtlWaitOnIrp(), IoAcquireCancelSpinLock(), IoReleaseCancelSpinLock(), IoSetCancelRoutine, _IRP::IoStatus, Irp, IRP_MJ_CREATE, LEVEL_I_OPLOCK, NoOplocksHeld, NTSTATUS(), NULL, ObDereferenceObject, OPLOCK_BREAK_MASK, PENDING, PWAITING_IRP, SetFlag, Status, TRUE, and try_return. Referenced by FsRtlCheckOplock().
|
|
Definition at line 2690 of file oplock.c. References BREAK_TO_II, BREAK_TO_II_TO_NONE, BREAK_TO_NONE, _IRP::Cancel, _IRP::CancelIrql, ClearFlag, Dbg, DebugTrace, Event(), ExAcquireFastMutexUnsafe(), ExReleaseFastMutexUnsafe(), FALSE, FlagOn, FsRtlCompleteRequest, FsRtlRemoveAndCompleteIrp(), FsRtlRemoveAndCompleteWaitIrp(), FsRtlWaitOnIrp(), IoAcquireCancelSpinLock(), IoReleaseCancelSpinLock(), IoSetCancelRoutine, _IRP::IoStatus, Irp, IRP_MJ_CREATE, LEVEL_II_OPLOCK, NoOplocksHeld, NTSTATUS(), NULL, ObDereferenceObject, OPLOCK_BREAK_MASK, OplockIIGranted, PENDING, PWAITING_IRP, SetFlag, Status, TRUE, and try_return. Referenced by FsRtlCheckOplock().
|
|
Definition at line 2249 of file oplock.c. References _IRP::CancelIrql, Dbg, DebugTrace, ExAcquireFastMutexUnsafe(), ExReleaseFastMutexUnsafe(), _IO_STACK_LOCATION::FileObject, FlagOn, FsRtlCompleteRequest, FsRtlRemoveAndCompleteIrp(), FsRtlRemoveAndCompleteWaitIrp(), IoAcquireCancelSpinLock(), IoGetCurrentIrpStackLocation, IoReleaseCancelSpinLock(), IoSetCancelRoutine, _IRP::IoStatus, Irp, NoOplocksHeld, NULL, ObDereferenceObject, OPLOCK_BREAK_MASK, OplockIIGranted, PENDING, PWAITING_IRP, and try_return. Referenced by FsRtlCheckOplock().
|
|
Definition at line 581 of file oplock.c. References Dbg, DebugTrace, EXCLUSIVE, FALSE, _IO_STACK_LOCATION::FileObject, FlagOn, _IRP::Flags, _FILE_OBJECT::Flags, FO_CLEANUP_COMPLETE, FsRtlAcknowledgeOplockBreak(), FsRtlCompleteRequest, FsRtlOpBatchBreakClosePending(), FsRtlOplockBreakNotify(), FsRtlRequestExclusiveOplock(), FsRtlRequestOplockII(), IoGetCurrentIrpStackLocation, IoIsOperationSynchronous(), Irp, IRP_INPUT_OPERATION, IRP_MJ_CREATE, LEVEL_I_OPLOCK, _IO_STACK_LOCATION::MajorFunction, NTSTATUS(), NULL, OpFilterReqPending, OPLOCK_STATE, PAGED_CODE, _IO_STACK_LOCATION::Parameters, PNONOPAQUE_OPLOCK, SetFlag, Status, and TRUE. Referenced by UdfOplockRequest().
|
|
Definition at line 1116 of file oplock.c. References Dbg, DebugTrace, FALSE, FlagOn, LEVEL_II_OPLOCK, NULL, OPLOCK_BREAK_MASK, OPLOCK_STATE, PAGED_CODE, PNONOPAQUE_OPLOCK, and TRUE. Referenced by UdfFastLock(), UdfFastUnlockAll(), UdfFastUnlockAllByKey(), and UdfFastUnlockSingle().
|
|
Definition at line 2952 of file oplock.c. References _IRP::Cancel, _IRP::CancelIrql, Dbg, DebugTrace, _IO_STACK_LOCATION::FileObject, FsRtlCompleteRequest, IoAcquireCancelSpinLock(), IoGetCurrentIrpStackLocation, IoReleaseCancelSpinLock(), IoSetCancelRoutine, _IRP::IoStatus, Irp, NULL, and ObDereferenceObject. Referenced by FsRtlCancelOplockIIIrp(), FsRtlOplockBreakToNone(), FsRtlOplockCleanup(), and FsRtlRequestExclusiveOplock().
|
|
Definition at line 3623 of file oplock.c. References _IRP::Cancel, _IRP::CancelIrql, Dbg, DebugTrace, ExFreePool(), IoAcquireCancelSpinLock(), IoReleaseCancelSpinLock(), IoSetCancelRoutine, _IRP::IoStatus, Irp, NULL, and PAGED_CODE. Referenced by FsRtlAcknowledgeOplockBreak(), FsRtlCancelExclusiveIrp(), FsRtlCancelWaitIrp(), FsRtlOpBatchBreakClosePending(), FsRtlOplockBreakToII(), FsRtlOplockBreakToNone(), and FsRtlOplockCleanup().
|
|
Definition at line 1299 of file oplock.c. References ASSERT, _IRP::Cancel, _IRP::CancelIrql, Dbg, DebugTrace, ExAcquireFastMutexUnsafe(), ExReleaseFastMutexUnsafe(), FALSE, _NONOPAQUE_OPLOCK::FastMutex, _NONOPAQUE_OPLOCK::FileObject, FlagOn, FsRtlAllocateOplock(), FsRtlCancelExclusiveIrp(), FsRtlCompleteRequest, FsRtlRemoveAndCompleteIrp(), IoAcquireCancelSpinLock(), IoMarkIrpPending, IoReleaseCancelSpinLock(), IoSetCancelRoutine, _IRP::IoStatus, Irp, _NONOPAQUE_OPLOCK::IrpExclusiveOplock, _NONOPAQUE_OPLOCK::IrpOplocksII, LEVEL_II_OPLOCK, NO_OPLOCK, NTSTATUS(), NULL, ObReferenceObject, OpFilterReqPending, OplockIIGranted, _NONOPAQUE_OPLOCK::OplockState, PENDING, PNONOPAQUE_OPLOCK, Status, and TRUE. Referenced by FsRtlOplockFsctrl().
|
|
Definition at line 1514 of file oplock.c. References _IRP::Cancel, _IRP::CancelIrql, Dbg, DebugTrace, ExAcquireFastMutexUnsafe(), ExReleaseFastMutexUnsafe(), FALSE, _NONOPAQUE_OPLOCK::FastMutex, FlagOn, FsRtlAllocateOplock(), FsRtlCancelOplockIIIrp(), FsRtlCompleteRequest, IoAcquireCancelSpinLock(), IoMarkIrpPending, IoReleaseCancelSpinLock(), IoSetCancelRoutine, _IRP::IoStatus, Irp, _NONOPAQUE_OPLOCK::IrpOplocksII, LEVEL_II_OPLOCK, NO_OPLOCK, NTSTATUS(), NULL, ObReferenceObject, OplockIIGranted, _NONOPAQUE_OPLOCK::OplockState, PNONOPAQUE_OPLOCK, Status, _IRP::Tail, and TRUE. Referenced by FsRtlOplockFsctrl().
|
|
Definition at line 413 of file oplock.c. References _IRP::CancelIrql, _WAITING_IRP::CompletionRoutine, _WAITING_IRP::Context, Dbg, DebugTrace, ExAcquireFastMutexUnsafe(), ExFreePool(), ExReleaseFastMutexUnsafe(), _NONOPAQUE_OPLOCK::FastMutex, _NONOPAQUE_OPLOCK::FileObject, FsRtlCompleteRequest, IoAcquireCancelSpinLock(), IoGetCurrentIrpStackLocation, IoReleaseCancelSpinLock(), IoSetCancelRoutine, _IRP::IoStatus, Irp, _WAITING_IRP::Irp, _NONOPAQUE_OPLOCK::IrpExclusiveOplock, _NONOPAQUE_OPLOCK::IrpOplocksII, NULL, ObDereferenceObject, PNONOPAQUE_OPLOCK, PWAITING_IRP, and _NONOPAQUE_OPLOCK::WaitingIrps. Referenced by UdfDeleteFcb().
|
|
Definition at line 3025 of file oplock.c. References _IRP::Cancel, _IRP::CancelIrql, _WAITING_IRP::CompletionRoutine, _WAITING_IRP::Context, Dbg, DebugTrace, Event(), Executive, ExReleaseFastMutexUnsafe(), FALSE, FsRtlCancelWaitIrp(), FsRtlCompletionRoutinePriv(), FsRtlpAllocatePool, _WAITING_IRP::Information, IoAcquireCancelSpinLock(), IoMarkIrpPending, IoReleaseCancelSpinLock(), IoSetCancelRoutine, _IRP::IoStatus, Irp, _WAITING_IRP::Irp, KeInitializeEvent, KernelMode, KeWaitForSingleObject(), _WAITING_IRP::Links, NTSTATUS(), NULL, PagedPool, PWAITING_IRP, Status, and TRUE. Referenced by FsRtlOplockBreakNotify(), FsRtlOplockBreakToII(), and FsRtlOplockBreakToNone().
|