3 * reactos/ntoskrnl/fs/notify.c
10 /**********************************************************************
12 * FsRtlNotifyChangeDirectory@28
24 FsRtlNotifyChangeDirectory (
25 IN PNOTIFY_SYNC NotifySync,
27 IN PSTRING FullDirectoryName,
28 IN PLIST_ENTRY NotifyList,
30 IN ULONG CompletionFilter,
34 FsRtlNotifyFullChangeDirectory (
40 TRUE, /* IgnoreBuffer */
49 /**********************************************************************
51 * FsRtlNotifyCleanup@12
64 IN PNOTIFY_SYNC NotifySync,
65 IN PLIST_ENTRY NotifyList,
72 /**********************************************************************
74 * FsRtlNotifyFullChangeDirectory@40
86 FsRtlNotifyFullChangeDirectory (
87 IN PNOTIFY_SYNC NotifySync,
88 IN PLIST_ENTRY NotifyList,
90 IN PSTRING FullDirectoryName,
92 IN BOOLEAN IgnoreBuffer,
93 IN ULONG CompletionFilter,
95 IN PCHECK_FOR_TRAVERSE_ACCESS TraverseCallback OPTIONAL,
96 IN PSECURITY_SUBJECT_CONTEXT SubjectContext OPTIONAL
99 DbgPrint("%s()\n", __FUNCTION__);
103 /**********************************************************************
105 * FsRtlNotifyFullReportChange@36
117 FsRtlNotifyFullReportChange (
118 IN PNOTIFY_SYNC NotifySync,
119 IN PLIST_ENTRY NotifyList,
120 IN PSTRING FullTargetName,
121 IN USHORT TargetNameOffset,
122 IN PSTRING StreamName OPTIONAL,
123 IN PSTRING NormalizedParentName OPTIONAL,
124 IN ULONG FilterMatch,
126 IN PVOID TargetContext
132 /**********************************************************************
134 * FsRtlNotifyInitializeSync@4
146 FsRtlNotifyInitializeSync (
147 IN PNOTIFY_SYNC * NotifySync
151 *NotifySync = ExAllocatePoolWithTag (
153 sizeof (NOTIFY_SYNC), // NumberOfBytes = 0x28
157 *NotifySync->Unknown0 = 1;
158 *NotifySync->Unknown2 = 0;
159 *NotifySync->Unknown3 = 1;
160 *NotifySync->Unknown4 = 4;
161 *NotifySync->Unknown5 = 0;
162 *NotifySync->Unknown9 = 0;
163 *NotifySync->Unknown10 = 0;
168 /**********************************************************************
170 * FsRtlNotifyReportChange@20
182 FsRtlNotifyReportChange (
183 IN PNOTIFY_SYNC NotifySync,
184 IN PLIST_ENTRY NotifyList,
185 IN PSTRING FullTargetName,
186 IN PUSHORT FileNamePartLength,
190 FsRtlNotifyFullReportChange (
194 (FullTargetName->Length - *FileNamePartLength), /*?*/
204 /**********************************************************************
206 * FsRtlNotifyUninitializeSync@4
209 * Uninitialize a NOTIFY_SYNC object.
212 * NotifySync is the address of a pointer
213 * to a PNOTIFY_SYNC object previously initialized by
214 * FsRtlNotifyInitializeSync().
223 FsRtlNotifyUninitializeSync (
224 IN OUT PNOTIFY_SYNC * NotifySync
227 if (NULL != *NotifySync)
229 ExFreePool (*NotifySync);
234 /**********************************************************************
236 * FsRtlNotifyVolumeEvent@8
239 * NOTE: Only present in NT 5+.
249 FsRtlNotifyVolumeEvent (
250 IN PFILE_OBJECT FileObject,
254 return STATUS_NOT_IMPLEMENTED;