CcScheduleReadAheadEx routine

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.

Syntax


VOID CcScheduleReadAheadEx(
  _In_ PFILE_OBJECT   FileObject,
  _In_ PLARGE_INTEGER FileOffset,
  _In_ ULONG          Length,
  _In_ PETHREAD       IoIssuerThread
);

Parameters

FileObject [in]

Pointer to a file object for the file on which read-ahead is to be performed.

FileOffset [in]

Pointer to a variable that specifies the starting byte offset within the cached file where the last read occurred.

Length [in]

Length in bytes of the range that was last read.

IoIssuerThread [in]

The thread issuing the read ahead request. For a file system with disk I/O accounting enabled, this is the thread the I/O is charged to. If IoIssuerThread is NULL, the I/O is charged to the current thread.

Return value

None

Remarks

CcScheduleReadAheadEx should be called only when Length >= 256. Measurements have shown that calling CcScheduleReadAheadEx for smaller reads actually decreases performance.

CcScheduleReadAheadEx can only be called after a successful call to CcCopyRead, CcCopyReadEx, CcFastCopyRead, or CcMdlRead.

Requirements

Target platform

Universal

Version

Available starting with Windows 8.

Header

Ntifs.h (include Ntifs.h or FltKernel.h)

Library

NtosKrnl.lib

DLL

NtosKrnl.exe

IRQL

<= APC_LEVEL

See also

CcCopyRead
CcCopyReadEx
CcFastCopyRead
CcMdlRead
CcReadAhead
CcSetAdditionalCacheAttributes
CcSetReadAheadGranularity

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft