FILE_OBJECT *FileObject;
SECTION_OBJECT_POINTERS *SectionObjectPointers;
/* ValidDataLength<=FileSize<=AllocationSize */
+ /* 'AllocationSize' sets the mmap(2)ed area of buffers of this SharedCacheMap.
+ * We must reallocate this area if 'AllocationSize' changes and in such case
+ * there must exist no map-Bcb or pin-Bcbs for it.
+ * We would cope with 'buffer' change with existing Bcbs but W32 client could not.
+ */
guint64 AllocationSize; /* ==CC_FILE_SIZES.AllocationSize.QuadPart */
+ /* We generally check against CAPTIVE_ROUND_UP64(FileSize,PAGE_SIZE)
+ * as the offsets are usually PAGE_SIZE aligned due to pin-Bcb expectations.
+ */
guint64 FileSize; /* ==CC_FILE_SIZES.FileSize.QuadPart */
+ /* We use 'FileSize' instead of 'ValidDataLength' as I assume W32
+ * automatically increases 'ValidDataLength' during Cache Manager write operations.
+ * We do not increase it and therefore it is mostly useless for us.
+ */
guint64 ValidDataLength; /* ==CC_FILE_SIZES.ValidDataLength.QuadPart */
CACHE_MANAGER_CALLBACKS CallBacks;
VOID *LazyWriterContext;