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.