CcSetReadAheadGranularityEx
VOID __stdcall CcSetReadAheadGranularityEx(_FILE_OBJECT *FileObject, _READ_AHEAD_PARAMETERS *ReadAheadParameters){
_DWORD *PrivateCacheMap;
ULONG PipelinedRequestSize;
ULONG ReadAheadGrowthPercentage;
PrivateCacheMap = FileObject->PrivateCacheMap;
if( ReadAheadParameters )
{
PrivateCacheMap[1] = ReadAheadParameters->Granularity - 1;
PipelinedRequestSize = ReadAheadParameters->PipelinedRequestSize;
if( PipelinedRequestSize )
{
*PrivateCacheMap |= 0x200000u;
PrivateCacheMap[22] = PipelinedRequestSize;
}
else
{
PipelinedRequestSize = PrivateCacheMap[22];
}
if( PipelinedRequestSize > 0x800000 )
PrivateCacheMap[22] = 0x800000;
ReadAheadGrowthPercentage = 50;
if( ReadAheadParameters->ReadAheadGrowthPercentage )
ReadAheadGrowthPercentage = ReadAheadParameters->ReadAheadGrowthPercentage;
PrivateCacheMap[23] = ReadAheadGrowthPercentage;
}
}Referenced by:
No references.