Cache Manager Routines
This section contains references, in alphabetical order, for the system-supplied CcXxx support routines that are used by kernel-mode file systems and file system filter drivers.
In this section
Topic Description
CcCanIWrite
The CcCanIWrite routine determines whether the caller can write to a cached file.
CcCoherencyFlushAndPurgeCache
The CcCoherencyFlushAndPurgeCache routine flushes and/or purges the cache to ensure cache coherency. Use CcCoherencyFlushAndPurgeCache when possible instead of an explicit flush and purge call sequence as it will invalidate user mapped views to prevent data corruption.
CcCopyRead
The CcCopyRead routine copies data from a cached file to a user buffer.
CcCopyReadEx
The CcCopyReadEx routine copies data from a cached file to a user buffer. The I/O byte count for the operation is charged to the issuing thread.
CcCopyWrite
The CcCopyWrite routine copies data from a user buffer to a cached file.
CcCopyWriteEx
The CcCopyWriteEx routine copies data from a user buffer to a cached file. The I/O byte count for the operation is charged to the issuing thread.
CcCopyWriteWontFlush
The CcCopyWriteWontFlush macro determines whether the amount of data to be copied in a call to CcCopyWrite is small enough not to require immediate flushing to disk if CcCopyWrite is called with Wait set to FALSE.
CcDeferWrite
The CcDeferWrite routine defers writing to a cached file.
CcFastCopyRead
The CcFastCopyRead routine performs a fast copy read from a cached file to a buffer in memory.
CcFastCopyWrite
The CcFastCopyWrite routine performs a fast copy write from a buffer in memory to a cached file.
CcFlushCache
The CcFlushCache routine flushes all or a portion of a cached file to disk.
CcGetDirtyPages
The CcGetDirtyPages routine searches for dirty pages in all files that match a given log handle.
CcGetFileObjectFromBcb
Given a pointer to a pinned buffer control block (BCB) for a file, the CcGetFileObjectFromBcb routine returns a pointer to the file object that the cache manager is using for that file.
CcGetFileObjectFromSectionPtrs
Given a pointer to the section object pointers for a cached file, the CcGetFileObjectFromSectionPtrs routine returns a pointer to the file object that the cache manager is using for the file.
CcGetFileObjectFromSectionPtrsRef
When passed a pointer to a SECTION_OBJECT_POINTERS structure for a cached file, the CcGetFileObjectFromSectionPtrsRef routine returns a pointer to the file object that the cache manager is using for the cached file.
CcGetFileSizePointer
The CcGetFileSizePointer macro returns the size of a file, given a pointer to a file object for the file.
CcGetFlushedValidData
The CcGetFlushedValidData routine determines how much of a cached file has been flushed to disk.
CcInitializeCacheMap
File systems call the CcInitializeCacheMap routine to cache a file.
CcIsFileCached
The CcIsFileCached macro determines whether a file is cached or not.
CcIsThereDirtyData
The CcIsThereDirtyData routine determines whether a mounted volume contains any files that have dirty data in the system cache.
CcIsThereDirtyDataEx
The CcIsThereDirtyDataEx routine determines whether a volume contains any files that have dirty data in the system cache.
CcIsThereDirtyLoggedPages
The CcIsThereDirtyLoggedPages routine determines whether a volume contains any files that have dirty log data in the system cache.
CcMapData
The CcMapData routine maps a specified byte range of a cached file to a buffer in memory.
CcMdlRead
The CcMdlRead routine provides direct access to cached file memory so that the caller can read data from the file.
CcMdlReadComplete
The CcMdlReadComplete routine frees the memory descriptor lists (MDL) created by CcMdlRead for a cached file.
CcMdlWriteAbort
The CcMdlWriteAbort routine frees memory descriptor lists (MDL) created by an earlier call to CcPrepareMdlWrite.
CcMdlWriteComplete
The CcMdlWriteComplete routine frees the memory descriptor lists (MDL) created by CcPrepareMdlWrite for a cached file.
CcPinMappedData
The CcPinMappedData routine pins the specified byte range of a cached file.
CcPinRead
The CcPinRead routine pins the specified byte range of a cached file and reads the pinned data into a buffer in memory.
CcPrepareMdlWrite
The CcPrepareMdlWrite routine provides direct access to cached file memory so that the caller can write data to the file.
CcPreparePinWrite
The CcPreparePinWrite routine pins the specified byte range of a cached file for write access.
CcPurgeCacheSection
The CcPurgeCacheSection routine purges all or a portion of a cached file from the system cache.
CcReadAhead
The CcReadAhead macro performs read-ahead (also called "lazy read") on a cached file.
CcRemapBcb
The CcRemapBcb routine maps a buffer control block (BCB) an additional time to preserve it through several calls that perform additional maps and unpins.
CcRepinBcb
The CcRepinBcb routine pins a buffer control block (BCB) an additional time to prevent it from being freed by a subsequent call to CcUnpinData.
CcScheduleReadAhead
The CcScheduleReadAhead routine performs read-ahead (also called "lazy read") on a cached file. CcScheduleReadAhead should never be called directly. The CcReadAhead macro should be called instead.
CcScheduleReadAheadEx
The CcScheduleReadAheadEx routine performs read-ahead (also called "lazy read") on a cached file. The I/O byte count for the operation is charged to the issuing thread.
CcSetAdditionalCacheAttributes
Call the CcSetAdditionalCacheAttributes routine to enable or disable read-ahead (also called "lazy read") or write-behind (also called "lazy write") on a cached file.
CcSetAdditionalCacheAttributesEx
Call the CcSetAdditionalCacheAttributesEx routine to enable extended cache behavior on a cached file.
CcSetBcbOwnerPointer
The CcSetBcbOwnerPointer routine sets the owner thread pointer for a pinned buffer control block (BCB).
CcSetDirtyPageThreshold
The CcSetDirtyPageThreshold routine sets a per-file dirty page threshold on a cached file.
CcSetDirtyPinnedData
The CcSetDirtyPinnedData routine marks as dirty the buffer control block (BCB) for a pinned buffer whose contents have been modified.
CcSetFileSizes
The CcSetFileSizes routine updates the cache maps and section object for a cached file whose size has changed.
CcSetLogHandleForFile
The CcSetLogHandleForFile routine sets a log handle for a file.
CcSetLogHandleForFileEx
The CcSetLogHandleForFileEx routine sets a log handle for a file and tracking callback functions for the file log.
CcSetLoggedDataThreshold
The CcSetLoggedDataThreshold routine sets a threshold for when a scan of dirty log pages will initiate a lazy write.
CcSetReadAheadGranularity
The CcSetReadAheadGranularity routine sets the read-ahead granularity for a cached file.
CcSetReadAheadGranularityEx
The CcSetReadAheadGranularityEx routine sets the read-ahead granularity and enables pipelined read-ahead for a cached file.
CcUninitializeCacheMap
The CcUninitializeCacheMap routine stops the caching of a cached file.
CcUnmapFileOffsetFromSystemCache
The CcUnmapFileOffsetFromSystemCache routine removes a portion of a cached file from the system cache.
CcUnpinData
The CcUnpinData routine releases cached file data that was mapped or pinned by an earlier call to CcMapData, CcPinRead, or CcPreparePinWrite.
CcUnpinDataForThread
The CcUnpinDataForThread routine releases pages of a cached file whose buffer control block (BCB) was modified by an earlier call to CcSetBcbOwnerPointer.
CcUnpinRepinnedBcb
The CcUnpinRepinnedBcb routine unpins a repinned buffer control block (BCB).
CcWaitForCurrentLazyWriterActivity
The CcWaitForCurrentLazyWriterActivity routine puts the caller into a wait state until the current batch of lazy writer activity is completed.
CcZeroData
The CcZeroData routine zeros the specified range of bytes in a cached or noncached file.