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

TopicDescription

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.

 

 

 

Send comments about this topic to Microsoft

표시:
© 2015 Microsoft