2 #ifndef _NTOS_CCFUNCS_H
3 #define _NTOS_CCFUNCS_H
6 /* exported variables */
16 IN PFILE_OBJECT FileObject,
17 IN ULONG BytesToWrite,
25 IN PFILE_OBJECT FileObject,
26 IN PLARGE_INTEGER FileOffset,
30 OUT PIO_STATUS_BLOCK IoStatus
36 IN PFILE_OBJECT FileObject,
37 IN PLARGE_INTEGER FileOffset,
46 IN PFILE_OBJECT FileObject,
47 IN PCC_POST_DEFERRED_WRITE PostRoutine,
50 IN ULONG BytesToWrite,
57 IN PFILE_OBJECT FileObject,
62 OUT PIO_STATUS_BLOCK IoStatus
68 IN PFILE_OBJECT FileObject,
69 IN PLARGE_INTEGER FileOffset,
77 IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
78 IN PLARGE_INTEGER FileOffset OPTIONAL,
80 OUT PIO_STATUS_BLOCK IoStatus OPTIONAL
87 IN PDIRTY_PAGE_ROUTINE DirtyPageRoutine,
94 CcGetFileObjectFromBcb (
100 CcGetFileObjectFromSectionPtrs (
101 IN PSECTION_OBJECT_POINTERS SectionObjectPointer
106 CcGetLsnForFileObject (
107 IN PFILE_OBJECT FileObject,
108 OUT PLARGE_INTEGER OldestLsn OPTIONAL
113 CcInitializeCacheMap (
114 IN PFILE_OBJECT FileObject,
115 IN PCC_FILE_SIZES FileSizes,
116 IN BOOLEAN PinAccess,
117 IN PCACHE_MANAGER_CALLBACKS CallBacks,
118 IN PVOID LazyWriterContext
130 IN PFILE_OBJECT FileObject,
131 IN PLARGE_INTEGER FileOffset,
141 IN PFILE_OBJECT FileObject,
142 IN PLARGE_INTEGER FileOffset,
145 OUT PIO_STATUS_BLOCK IoStatus
151 IN PFILE_OBJECT FileObject,
158 IN PFILE_OBJECT FileObject,
159 IN PLARGE_INTEGER FileOffset,
166 IN PFILE_OBJECT FileObject,
167 IN PLARGE_INTEGER FileOffset,
176 IN PFILE_OBJECT FileObject,
177 IN PLARGE_INTEGER FileOffset,
187 IN PFILE_OBJECT FileObject,
188 IN PLARGE_INTEGER FileOffset,
191 OUT PIO_STATUS_BLOCK IoStatus
197 IN PFILE_OBJECT FileObject,
198 IN PLARGE_INTEGER FileOffset,
208 CcPurgeCacheSection (
209 IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
210 IN PLARGE_INTEGER FileOffset OPTIONAL,
212 IN BOOLEAN UninitializeCacheMaps
215 #define CcReadAhead(FO,FOFF,LEN) \
219 CcScheduleReadAhead((FO),(FOFF),(LEN)); \
231 CcScheduleReadAhead (
232 IN PFILE_OBJECT FileObject,
233 IN PLARGE_INTEGER FileOffset,
239 CcSetAdditionalCacheAttributes (
240 IN PFILE_OBJECT FileObject,
241 IN BOOLEAN DisableReadAhead,
242 IN BOOLEAN DisableWriteBehind
247 CcSetBcbOwnerPointer (
254 CcSetDirtyPageThreshold (
255 IN PFILE_OBJECT FileObject,
256 IN ULONG DirtyPageThreshold
261 CcSetDirtyPinnedData (
263 IN PLARGE_INTEGER Lsn OPTIONAL
269 IN PFILE_OBJECT FileObject,
270 IN PCC_FILE_SIZES FileSizes
275 CcSetLogHandleForFile (
276 IN PFILE_OBJECT FileObject,
278 IN PFLUSH_TO_LSN FlushToLsnRoutine
283 CcSetReadAheadGranularity (
284 IN PFILE_OBJECT FileObject,
290 CcUninitializeCacheMap (
291 IN PFILE_OBJECT FileObject,
292 IN PLARGE_INTEGER TruncateSize OPTIONAL,
293 IN PCACHE_UNINITIALIZE_EVENT UninitializeCompleteEvent OPTIONAL
304 CcUnpinDataForThread (
306 IN ERESOURCE_THREAD ResourceThreadId
313 IN BOOLEAN WriteThrough,
314 IN PIO_STATUS_BLOCK IoStatus
320 IN PFILE_OBJECT FileObject,
321 IN PLARGE_INTEGER StartOffset,
322 IN PLARGE_INTEGER EndOffset,