1 /* $Id: notify.c,v 1.3 2002/01/13 22:02:31 ea Exp $
3 * reactos/ntoskrnl/fs/notify.c
10 /**********************************************************************
12 * FsRtlNotifyChangeDirectory@28
23 FsRtlNotifyChangeDirectory (
24 IN PNOTIFY_SYNC NotifySync
,
26 IN PSTRING FullDirectoryName
,
27 IN PLIST_ENTRY NotifyList
,
29 IN ULONG CompletionFilter
,
33 FsRtlNotifyFullChangeDirectory (
39 TRUE
, /* IgnoreBuffer */
48 /**********************************************************************
50 * FsRtlNotifyCleanup@12
62 IN PNOTIFY_SYNC NotifySync
,
63 IN PLIST_ENTRY NotifyList
,
70 /**********************************************************************
72 * FsRtlNotifyFullChangeDirectory@40
83 FsRtlNotifyFullChangeDirectory (
84 IN PNOTIFY_SYNC NotifySync
,
85 IN PLIST_ENTRY NotifyList
,
87 IN PSTRING FullDirectoryName
,
89 IN BOOLEAN IgnoreBuffer
,
90 IN ULONG CompletionFilter
,
92 IN PCHECK_FOR_TRAVERSE_ACCESS TraverseCallback OPTIONAL
,
93 IN PSECURITY_SUBJECT_CONTEXT SubjectContext OPTIONAL
96 DbgPrint("%s()\n", __FUNCTION__
);
100 /**********************************************************************
102 * FsRtlNotifyFullReportChange@36
113 FsRtlNotifyFullReportChange (
114 IN PNOTIFY_SYNC NotifySync
,
115 IN PLIST_ENTRY NotifyList
,
116 IN PSTRING FullTargetName
,
117 IN USHORT TargetNameOffset
,
118 IN PSTRING StreamName OPTIONAL
,
119 IN PSTRING NormalizedParentName OPTIONAL
,
120 IN ULONG FilterMatch
,
122 IN PVOID TargetContext
128 /**********************************************************************
130 * FsRtlNotifyInitializeSync@4
141 FsRtlNotifyInitializeSync (
142 IN PNOTIFY_SYNC
* NotifySync
146 *NotifySync
= ExAllocatePoolWithTag (
148 sizeof (NOTIFY_SYNC
), // NumberOfBytes = 0x28
152 *NotifySync
->Unknown0
= 1;
153 *NotifySync
->Unknown2
= 0;
154 *NotifySync
->Unknown3
= 1;
155 *NotifySync
->Unknown4
= 4;
156 *NotifySync
->Unknown5
= 0;
157 *NotifySync
->Unknown9
= 0;
158 *NotifySync
->Unknown10
= 0;
163 /**********************************************************************
165 * FsRtlNotifyReportChange@20
176 FsRtlNotifyReportChange (
177 IN PNOTIFY_SYNC NotifySync
,
178 IN PLIST_ENTRY NotifyList
,
179 IN PSTRING FullTargetName
,
180 IN PUSHORT FileNamePartLength
,
184 FsRtlNotifyFullReportChange (
188 (FullTargetName
->Length
- *FileNamePartLength
), /*?*/
198 /**********************************************************************
200 * FsRtlNotifyUninitializeSync@4
203 * Uninitialize a NOTIFY_SYNC object.
206 * NotifySync is the address of a pointer
207 * to a PNOTIFY_SYNC object previously initialized by
208 * FsRtlNotifyInitializeSync().
215 FsRtlNotifyUninitializeSync (
216 IN OUT PNOTIFY_SYNC
* NotifySync
219 if (NULL
!= *NotifySync
)
221 ExFreePool (*NotifySync
);
226 /**********************************************************************
228 * FsRtlNotifyVolumeEvent@8
231 * NOTE: Only present in NT 5+.
240 FsRtlNotifyVolumeEvent (
241 IN PFILE_OBJECT FileObject
,
245 return STATUS_NOT_IMPLEMENTED
;