#include "FsRtlP.h"
Go to the source code of this file.
Classes | |
struct | _REAL_NOTIFY_SYNC |
struct | _NOTIFY_CHANGE |
Defines | |
#define | Dbg (0x04000000) |
#define | NOTIFY_WATCH_TREE (0x0001) |
#define | NOTIFY_IMMEDIATE_NOTIFY (0x0002) |
#define | NOTIFY_CLEANUP_CALLED (0x0004) |
#define | NOTIFY_DEFER_NOTIFY (0x0008) |
#define | NOTIFY_DIR_IS_ROOT (0x0010) |
#define | NOTIFY_STREAM_IS_DELETED (0x0020) |
#define | Add2Ptr(PTR, INC, CAST) ((CAST)((PUCHAR)(PTR) + (INC))) |
#define | PtrOffset(BASE, OFFSET) ((ULONG)((PCHAR)(OFFSET) - (PCHAR)(BASE))) |
#define | SetFlag(F, SF) |
#define | ClearFlag(F, SF) |
#define | AcquireNotifySync(NS) |
#define | ReleaseNotifySync(NS) |
#define | MODULE_POOL_TAG ('NrSF') |
Typedefs | |
typedef _REAL_NOTIFY_SYNC | REAL_NOTIFY_SYNC |
typedef _REAL_NOTIFY_SYNC * | PREAL_NOTIFY_SYNC |
typedef _NOTIFY_CHANGE | NOTIFY_CHANGE |
typedef _NOTIFY_CHANGE * | PNOTIFY_CHANGE |
Functions | |
PNOTIFY_CHANGE | FsRtlIsNotifyOnList (IN PLIST_ENTRY NotifyListHead, IN PVOID FsContext) |
VOID | FsRtlNotifyCompleteIrp (IN PIRP NotifyIrp, IN PNOTIFY_CHANGE Notify, IN ULONG DataLength, IN NTSTATUS Status, IN ULONG CheckCancel) |
BOOLEAN | FsRtlNotifySetCancelRoutine (IN PIRP NotifyIrp, IN PNOTIFY_CHANGE Notify OPTIONAL) |
BOOLEAN | FsRtlNotifyUpdateBuffer (IN PFILE_NOTIFY_INFORMATION NotifyInfo, IN ULONG FileAction, IN PSTRING ParentName, IN PSTRING TargetName, IN PSTRING StreamName OPTIONAL, IN BOOLEAN UnicodeName, IN ULONG SizeOfEntry) |
VOID | FsRtlNotifyCompleteIrpList (IN PNOTIFY_CHANGE Notify, IN NTSTATUS Status) |
VOID | FsRtlCancelNotify (IN PDEVICE_OBJECT DeviceObject, IN PIRP ThisIrp) |
VOID | FsRtlCheckNotifyForDelete (IN PLIST_ENTRY NotifyListHead, IN PVOID FsContext) |
NTKERNELAPI VOID | FsRtlNotifyInitializeSync (IN PNOTIFY_SYNC *NotifySync) |
NTKERNELAPI VOID | FsRtlNotifyUninitializeSync (IN PNOTIFY_SYNC *NotifySync) |
VOID | FsRtlNotifyChangeDirectory (IN PNOTIFY_SYNC NotifySync, IN PVOID FsContext, IN PSTRING FullDirectoryName, IN PLIST_ENTRY NotifyList, IN BOOLEAN WatchTree, IN ULONG CompletionFilter, IN PIRP NotifyIrp) |
VOID | FsRtlNotifyFullChangeDirectory (IN PNOTIFY_SYNC NotifySync, IN PLIST_ENTRY NotifyList, IN PVOID FsContext, IN PSTRING FullDirectoryName, IN BOOLEAN WatchTree, IN BOOLEAN IgnoreBuffer, IN ULONG CompletionFilter, IN PIRP NotifyIrp, IN PCHECK_FOR_TRAVERSE_ACCESS TraverseCallback OPTIONAL, IN PSECURITY_SUBJECT_CONTEXT SubjectContext OPTIONAL) |
VOID | FsRtlNotifyReportChange (IN PNOTIFY_SYNC NotifySync, IN PLIST_ENTRY NotifyList, IN PSTRING FullTargetName, IN PSTRING TargetName, IN ULONG FilterMatch) |
VOID | FsRtlNotifyFullReportChange (IN PNOTIFY_SYNC NotifySync, IN PLIST_ENTRY NotifyList, IN PSTRING FullTargetName, IN USHORT TargetNameOffset, IN PSTRING StreamName OPTIONAL, IN PSTRING NormalizedParentName OPTIONAL, IN ULONG FilterMatch, IN ULONG Action, IN PVOID TargetContext) |
VOID | FsRtlNotifyCleanup (IN PNOTIFY_SYNC NotifySync, IN PLIST_ENTRY NotifyList, IN PVOID FsContext) |
VOID | FsRtlNotifyCompleteIrpList (IN OUT PNOTIFY_CHANGE Notify, IN NTSTATUS Status) |
|
Value:
Definition at line 274 of file notify.c. Referenced by FsRtlCancelNotify(), FsRtlNotifyCleanup(), FsRtlNotifyFullChangeDirectory(), and FsRtlNotifyFullReportChange(). |
|
|
Value:
|
|
|
|
|
|
Definition at line 216 of file notify.c. Referenced by FsRtlNotifyCleanup(), and FsRtlNotifyFullChangeDirectory(). |
|
Definition at line 217 of file notify.c. Referenced by FsRtlNotifyFullChangeDirectory(), and FsRtlNotifyFullReportChange(). |
|
Definition at line 218 of file notify.c. Referenced by FsRtlNotifyFullChangeDirectory(), and FsRtlNotifyFullReportChange(). |
|
Definition at line 215 of file notify.c. Referenced by FsRtlCancelNotify(), FsRtlNotifyCompleteIrpList(), FsRtlNotifyFullChangeDirectory(), and FsRtlNotifyFullReportChange(). |
|
Definition at line 219 of file notify.c. Referenced by FsRtlCheckNotifyForDelete(), and FsRtlNotifyFullChangeDirectory(). |
|
Definition at line 214 of file notify.c. Referenced by FsRtlNotifyFullChangeDirectory(), and FsRtlNotifyFullReportChange(). |
|
Definition at line 238 of file notify.c. Referenced by LfsOpenLogFile(). |
|
Value:
Definition at line 284 of file notify.c. Referenced by FsRtlCancelNotify(), FsRtlNotifyCleanup(), FsRtlNotifyFullChangeDirectory(), and FsRtlNotifyFullReportChange(). |
|
Value:
|
|
Referenced by FsRtlNotifyFullChangeDirectory(). |
|
Referenced by FsRtlCancelNotify(), FsRtlCheckNotifyForDelete(), FsRtlIsNotifyOnList(), FsRtlNotifyCleanup(), FsRtlNotifyFullChangeDirectory(), and FsRtlNotifyFullReportChange(). |
|
Referenced by FsRtlNotifyFullChangeDirectory(), and FsRtlNotifyInitializeSync(). |
|
|
|
Definition at line 2555 of file notify.c. References AcquireNotifySync, _NOTIFY_CHANGE::AllocatedBuffer, ASSERT, _IRP::AssociatedIrp, _NOTIFY_CHANGE::Buffer, _NOTIFY_CHANGE::BufferLength, _NOTIFY_CHANGE::DataLength, Dbg, DebugTrace, EXCEPTION_CONTINUE_SEARCH, EXCEPTION_EXECUTE_HANDLER, ExFreePool(), FALSE, FlagOn, _NOTIFY_CHANGE::Flags, FsRtlCompleteRequest, FsRtlEnterFileSystem, FsRtlExitFileSystem, FsRtlIsNtstatusExpected(), FsRtlpAllocatePool, _NOTIFY_CHANGE::FullDirectoryName, IoGetCurrentIrpStackLocation, IoMarkIrpPending, IoReleaseCancelSpinLock(), IoSetCancelRoutine, Irp, _NOTIFY_CHANGE::LastEntry, _IRP::MdlAddress, MmGetSystemAddressForMdl, NOTIFY_IMMEDIATE_NOTIFY, _NOTIFY_CHANGE::NotifyIrps, _NOTIFY_CHANGE::NotifySync, NULL, _NOTIFY_CHANGE::OwningProcess, PagedPool, _IO_STACK_LOCATION::Parameters, PNOTIFY_CHANGE, PNOTIFY_SYNC, PsChargePoolQuota(), PsReturnPoolQuota(), _NOTIFY_CHANGE::ReferenceCount, ReleaseNotifySync, SeReleaseSubjectContext(), SetFlag, _NOTIFY_CHANGE::SubjectContext, _NOTIFY_CHANGE::ThisBufferLength, and TRUE. Referenced by FsRtlNotifySetCancelRoutine().
|
|
Definition at line 2873 of file notify.c. References _NOTIFY_CHANGE::Flags, FsRtlNotifyCompleteIrpList(), NOTIFY_STREAM_IS_DELETED, _NOTIFY_CHANGE::NotifyIrps, PAGED_CODE, PNOTIFY_CHANGE, SetFlag, and _NOTIFY_CHANGE::StreamID. Referenced by FsRtlNotifyFullChangeDirectory().
|
|
Definition at line 1920 of file notify.c. References Dbg, DebugTrace, _NOTIFY_CHANGE::FsContext, NULL, PAGED_CODE, and PNOTIFY_CHANGE. Referenced by FsRtlNotifyCleanup(), and FsRtlNotifyFullChangeDirectory().
|
|
Definition at line 469 of file notify.c. References Dbg, DebugTrace, FsRtlNotifyFullChangeDirectory(), NULL, PAGED_CODE, TRUE, and WatchTree.
|
|
Definition at line 1795 of file notify.c. References AcquireNotifySync, _NOTIFY_CHANGE::AllocatedBuffer, Dbg, DebugTrace, ExFreePool(), _NOTIFY_CHANGE::Flags, FsRtlIsNotifyOnList(), FsRtlNotifyCompleteIrpList(), _NOTIFY_CHANGE::FullDirectoryName, NOTIFY_CLEANUP_CALLED, _NOTIFY_CHANGE::NotifyIrps, _NOTIFY_CHANGE::NotifyList, NULL, _NOTIFY_CHANGE::OwningProcess, PAGED_CODE, PagedPool, PNOTIFY_CHANGE, PsReturnPoolQuota(), _NOTIFY_CHANGE::ReferenceCount, ReleaseNotifySync, SeReleaseSubjectContext(), SetFlag, _NOTIFY_CHANGE::SubjectContext, and _NOTIFY_CHANGE::ThisBufferLength. Referenced by UdfCommonCleanup().
|
|
Definition at line 2000 of file notify.c. References _IO_STACK_LOCATION::Control, Dbg, DebugTrace, EXCEPTION_EXECUTE_HANDLER, ExFreePool(), FlagOn, FsRtlCompleteRequest, FsRtlNotifySetCancelRoutine(), IoGetCurrentIrpStackLocation, IoMarkIrpPending, IRP_BUFFERED_IO, IRP_DEALLOCATE_BUFFER, IRP_INPUT_OPERATION, MmGetSystemAddressForMdl, NULL, PAGED_CODE, PagedPool, _IO_STACK_LOCATION::Parameters, PsReturnPoolQuota(), SL_PENDING_RETURNED, and Status. Referenced by FsRtlNotifyCompleteIrpList(), and FsRtlNotifyFullChangeDirectory().
|
|
Definition at line 2467 of file notify.c. References ClearFlag, Dbg, DebugTrace, FsRtlNotifyCompleteIrp(), Irp, NOTIFY_IMMEDIATE_NOTIFY, Status, and TRUE. Referenced by FsRtlCheckNotifyForDelete(), FsRtlNotifyCleanup(), and FsRtlNotifyFullReportChange().
|
|
|
|
Definition at line 547 of file notify.c. References AcquireNotifySync, _NOTIFY_CHANGE::BufferLength, CHAR, _NOTIFY_CHANGE::CharacterSize, ClearFlag, _NOTIFY_CHANGE::CompletionFilter, _NOTIFY_CHANGE::DataLength, Dbg, DebugTrace, ExFreePool(), FALSE, _IO_STACK_LOCATION::FileObject, FlagOn, _FILE_OBJECT::Flags, _NOTIFY_CHANGE::Flags, FO_CLEANUP_COMPLETE, _NOTIFY_CHANGE::FsContext, _FILE_OBJECT::FsContext, FsRtlCheckNotifyForDelete(), FsRtlCompleteRequest, FsRtlIsNotifyOnList(), FsRtlNotifyCompleteIrp(), FsRtlNotifySetCancelRoutine(), FsRtlpAllocatePool, _NOTIFY_CHANGE::FullDirectoryName, IoGetCurrentIrpStackLocation, IoMarkIrpPending, _NOTIFY_CHANGE::LastEntry, NOTIFY_CHANGE, NOTIFY_CLEANUP_CALLED, NOTIFY_DEFER_NOTIFY, NOTIFY_DIR_IS_ROOT, NOTIFY_IMMEDIATE_NOTIFY, NOTIFY_STREAM_IS_DELETED, NOTIFY_WATCH_TREE, _NOTIFY_CHANGE::NotifyIrps, _NOTIFY_CHANGE::NotifyList, _NOTIFY_CHANGE::NotifySync, NULL, _NOTIFY_CHANGE::OwningProcess, PAGED_CODE, PagedPool, _IO_STACK_LOCATION::Parameters, PNOTIFY_CHANGE, PREAL_NOTIFY_SYNC, _NOTIFY_CHANGE::ReferenceCount, ReleaseNotifySync, SeReleaseSubjectContext(), SetFlag, _NOTIFY_CHANGE::StreamID, _NOTIFY_CHANGE::SubjectContext, THREAD_TO_PROCESS, _NOTIFY_CHANGE::TraverseCallback, try_return, and WatchTree. Referenced by FsRtlNotifyChangeDirectory(), and UdfNotifyChangeDirectory().
|
|
Definition at line 973 of file notify.c. References AcquireNotifySync, Action, Add2Ptr, _NOTIFY_CHANGE::AllocatedBuffer, ASSERT, ASSERTMSG, _IRP::AssociatedIrp, _NOTIFY_CHANGE::Buffer, _NOTIFY_CHANGE::BufferLength, CHAR, _NOTIFY_CHANGE::CharacterSize, ClearFlag, _NOTIFY_CHANGE::CompletionFilter, _NOTIFY_CHANGE::DataLength, Dbg, DebugTrace, EXCEPTION_CONTINUE_SEARCH, EXCEPTION_EXECUTE_HANDLER, ExFreePool(), FALSE, FileName, FlagOn, _NOTIFY_CHANGE::Flags, _NOTIFY_CHANGE::FsContext, FsRtlIsNtstatusExpected(), FsRtlNotifyCompleteIrpList(), FsRtlNotifyUpdateBuffer(), FsRtlpAllocatePool, _NOTIFY_CHANGE::FullDirectoryName, IoGetCurrentIrpStackLocation, L, _NOTIFY_CHANGE::LastEntry, LongAlign, _IRP::MdlAddress, MmGetSystemAddressForMdl, NOTIFY_DEFER_NOTIFY, NOTIFY_DIR_IS_ROOT, NOTIFY_IMMEDIATE_NOTIFY, NOTIFY_WATCH_TREE, _NOTIFY_CHANGE::NotifyIrps, NULL, _NOTIFY_CHANGE::OwningProcess, PAGED_CODE, PagedPool, _IO_STACK_LOCATION::Parameters, PNOTIFY_CHANGE, PsChargePoolQuota(), PsReturnPoolQuota(), ReleaseNotifySync, SetFlag, _NOTIFY_CHANGE::SubjectContext, _NOTIFY_CHANGE::ThisBufferLength, _NOTIFY_CHANGE::TraverseCallback, TRUE, and USHORT. Referenced by FsRtlNotifyReportChange().
|
|
Definition at line 371 of file notify.c. References Dbg, DebugTrace, ERESOURCE_THREAD, ExInitializeFastMutex, _REAL_NOTIFY_SYNC::FastMutex, FsRtlpAllocatePool, NonPagedPool, NULL, _REAL_NOTIFY_SYNC::OwnerCount, _REAL_NOTIFY_SYNC::OwningThread, PAGED_CODE, PNOTIFY_SYNC, and PREAL_NOTIFY_SYNC. Referenced by UdfInitializeVcb().
|
|
Definition at line 897 of file notify.c. References Dbg, DebugTrace, FsRtlNotifyFullReportChange(), NULL, PAGED_CODE, and USHORT.
|
|
Definition at line 2195 of file notify.c. References Dbg, DebugTrace, FALSE, FsRtlCancelNotify(), IoAcquireCancelSpinLock(), IoReleaseCancelSpinLock(), IoSetCancelRoutine, NULL, PDRIVER_CANCEL, and TRUE. Referenced by FsRtlNotifyCompleteIrp(), and FsRtlNotifyFullChangeDirectory().
|
|
Definition at line 426 of file notify.c. References Dbg, DebugTrace, ExFreePool(), NULL, and PAGED_CODE. Referenced by UdfDeleteVcb().
|
|
Definition at line 2286 of file notify.c. References Add2Ptr, ASSERT, Dbg, DebugTrace, EXCEPTION_EXECUTE_HANDLER, FALSE, FileName, L, PAGED_CODE, RtlOemToUnicodeN(), and TRUE. Referenced by FsRtlNotifyFullReportChange().
|