$if (_NTIFS_) /* Common Cache Types */ #define VACB_MAPPING_GRANULARITY (0x40000) #define VACB_OFFSET_SHIFT (18) typedef struct _PUBLIC_BCB { CSHORT NodeTypeCode; CSHORT NodeByteSize; ULONG MappedLength; LARGE_INTEGER MappedFileOffset; } PUBLIC_BCB, *PPUBLIC_BCB; typedef struct _CC_FILE_SIZES { LARGE_INTEGER AllocationSize; LARGE_INTEGER FileSize; LARGE_INTEGER ValidDataLength; } CC_FILE_SIZES, *PCC_FILE_SIZES; typedef BOOLEAN (NTAPI *PACQUIRE_FOR_LAZY_WRITE) ( IN PVOID Context, IN BOOLEAN Wait); typedef VOID (NTAPI *PRELEASE_FROM_LAZY_WRITE) ( IN PVOID Context); typedef BOOLEAN (NTAPI *PACQUIRE_FOR_READ_AHEAD) ( IN PVOID Context, IN BOOLEAN Wait); typedef VOID (NTAPI *PRELEASE_FROM_READ_AHEAD) ( IN PVOID Context); typedef struct _CACHE_MANAGER_CALLBACKS { PACQUIRE_FOR_LAZY_WRITE AcquireForLazyWrite; PRELEASE_FROM_LAZY_WRITE ReleaseFromLazyWrite; PACQUIRE_FOR_READ_AHEAD AcquireForReadAhead; PRELEASE_FROM_READ_AHEAD ReleaseFromReadAhead; } CACHE_MANAGER_CALLBACKS, *PCACHE_MANAGER_CALLBACKS; typedef struct _CACHE_UNINITIALIZE_EVENT { struct _CACHE_UNINITIALIZE_EVENT *Next; KEVENT Event; } CACHE_UNINITIALIZE_EVENT, *PCACHE_UNINITIALIZE_EVENT; typedef VOID (NTAPI *PDIRTY_PAGE_ROUTINE) ( IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN PLARGE_INTEGER OldestLsn, IN PLARGE_INTEGER NewestLsn, IN PVOID Context1, IN PVOID Context2); typedef VOID (NTAPI *PFLUSH_TO_LSN) ( IN PVOID LogHandle, IN LARGE_INTEGER Lsn); typedef VOID (NTAPI *PCC_POST_DEFERRED_WRITE) ( IN PVOID Context1, IN PVOID Context2); #define UNINITIALIZE_CACHE_MAPS (1) #define DO_NOT_RETRY_PURGE (2) #define DO_NOT_PURGE_DIRTY_PAGES (0x4) #define CC_FLUSH_AND_PURGE_NO_PURGE (0x1) $endif (_NTIFS_)