2 #ifndef _NTOS_CCFUNCS_H
3 #define _NTOS_CCFUNCS_H
4 /* $Id: ccfuncs.h,v 1.8 2002/09/08 10:47:43 chorns Exp $ */
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
,