89 #define CcpFlushCache(M,F,L,I,D) _CcpFlushCache(M,F,L,I,D,__FILE__,__LINE__) 112 #define KEBUGCHECKCC \ 113 KEBUGCHECKEX(CACHE_MANAGER, \ 114 (*(ULONG*)(__FILE__ + sizeof(__FILE__) - 4) << 16) | \ 115 (__LINE__ & 0xFFFF), 0, 0, 0) 119 #define CACHE_SINGLE_FILE_MAX (16) 120 #define CACHE_OVERALL_SIZE (32 * 1024 * 1024) 121 #define CACHE_STRIPE VACB_MAPPING_GRANULARITY 122 #define CACHE_SHIFT 18 123 #define CACHE_NUM_SECTIONS (CACHE_OVERALL_SIZE / CACHE_STRIPE) 124 #define CACHE_ROUND_UP(x) (((x) + (CACHE_STRIPE-1)) & ~(CACHE_STRIPE-1)) 125 #define CACHE_ROUND_DOWN(x) ((x) & ~(CACHE_STRIPE-1)) 126 #define INVALID_CACHE ((ULONG)~0) 136 #define CcpLock() _CcpLock(__FILE__,__LINE__) 137 #define CcpUnlock() _CcpUnlock(__FILE__,__LINE__) BOOLEAN NTAPI CcpUnpinData(PNOCC_BCB Bcb, BOOLEAN ActuallyRelease)
VOID(NTAPI * PFLUSH_TO_LSN)(_In_ PVOID LogHandle, _In_ LARGE_INTEGER Lsn)
LIST_ENTRY CcPendingUnmap
_In_ ULONG _In_ ULONG _In_ ULONG Length
IN PVCB IN VBO IN ULONG OUT PBCB * Bcb
struct _NOCC_BCB NOCC_BCB
#define CACHE_NUM_SECTIONS
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _Outptr_ PMDL * MdlChain
VOID CcpReferenceCache(ULONG Sector)
static CC_FILE_SIZES FileSizes
VOID NTAPI _CcpFlushCache(IN PNOCC_CACHE_MAP Map, IN OPTIONAL PLARGE_INTEGER FileOffset, IN ULONG Length, OUT OPTIONAL PIO_STATUS_BLOCK IoStatus, BOOLEAN Delete, const char *File, int Line)
NOCC_BCB CcCacheSections[CACHE_NUM_SECTIONS]
_Must_inspect_result_ _In_ PDEVICE_OBJECT _In_ PSECTION_OBJECT_POINTERS SectionObjectPointer
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
ULONG NTAPI CcpCountCacheSections(PNOCC_CACHE_MAP Map)
_Inout_ PMDL MemoryDescriptorList
BOOLEAN NTAPI CcpPinMappedData(IN PNOCC_CACHE_MAP Map, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN ULONG Flags, IN OUT PVOID *Bcb)
BOOLEAN NTAPI CcGetFileSizes(PFILE_OBJECT FileObject, PCC_FILE_SIZES FileSizes)
VOID _CcpLock(const char *file, int line)
VOID NTAPI CcInitView(VOID)
VOID NTAPI CcInitCacheZeroPage(VOID)
BOOLEAN NTAPI CcpMapData(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN ULONG Flags, OUT PVOID *BcbResult, OUT PVOID *Buffer)
IN PFCB IN FAT_FLUSH_TYPE FlushType
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
VOID NTAPI CcPfInitializePrefetcher(VOID)
_Must_inspect_result_ _In_ ULONG Flags
LIST_ENTRY PrivateCacheMaps
PRTL_BITMAP CcCacheBitmap
VOID NTAPI CcMdlReadComplete2(IN PFILE_OBJECT FileObject, IN PMDL MemoryDescriptorList)
VOID NTAPI CcShutdownSystem(VOID)
BOOLEAN NTAPI CcpAcquireFileLock(PNOCC_CACHE_MAP Map)
struct _NOCC_CACHE_MAP NOCC_CACHE_MAP
struct _NOCC_CACHE_MAP * Map
BOOLEAN NTAPI CcFlushImageSection(PSECTION_OBJECT_POINTERS SectionObjectPointer, MMFLUSH_TYPE FlushType)
VOID CcpDereferenceCache(ULONG Sector, BOOLEAN Immediate)
VOID _CcpUnlock(const char *file, int line)
_In_ PFCB _In_ LONGLONG FileOffset
CACHE_MANAGER_CALLBACKS Callbacks
struct _NOCC_BCB * PNOCC_BCB
VOID NTAPI CcMdlWriteComplete2(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN PMDL MdlChain)
__in UCHAR __in POWER_STATE __in_opt PVOID __in PIO_STATUS_BLOCK IoStatus
ULONG ReadAheadGranularity
BOOL Delete(LPCTSTR ServiceName)
VOID NTAPI CcpReleaseFileLock(PNOCC_CACHE_MAP Map)
struct _NOCC_CACHE_MAP * PNOCC_CACHE_MAP
PULONG MinorVersion OPTIONAL