CcPerfLogScheduleReadAhead
VOID __fastcall CcPerfLogScheduleReadAhead(
_WORK_QUEUE_ENTRY *WorkEntry,
_FILE_OBJECT *FileObject,
_LARGE_INTEGER *FileOffset,
UINT64 Length,
UINT64 ReadAheadUnit,
UINT8 ReadPattern,
UINT64 ReadAheadSettingsChanged){
_DWORD *PrivateCacheMap;
int v11;
_DWORD *SharedCacheMap;
unsigned int v13;
UINT64 Flag;
EVENT_DATA_DESCRIPTOR EventData;
INT64 result[3];
int v17;
int v18;
int v19;
__int64 v20;
__int64 v21;
UINT8 v22;
int v23;
int v24;
unsigned int v25;
PrivateCacheMap = 0i64;
v11 = Length;
SharedCacheMap = 0i64;
memset((INT64)result, 0i64);
if( FileObject )
{
PrivateCacheMap = FileObject->PrivateCacheMap;
SharedCacheMap = FileObject->SectionObjectPointer->SharedCacheMap;
result[1] = (INT64)FileObject->FsContext;
}
result[2] = FileOffset->QuadPart;
v18 = ReadAheadUnit;
result[0] = (INT64)WorkEntry;
v17 = v11;
v13 = v25 & 0xFFFFFFFE | ((_DWORD)ReadAheadSettingsChanged == 1);
v25 = v13;
if( PrivateCacheMap )
{
v19 = PrivateCacheMap[13];
v20 = *((_QWORD *)PrivateCacheMap + 7);
v21 = *((_QWORD *)PrivateCacheMap + 8);
v25 = v13 ^ ((unsigned __int8)v13 ^ (unsigned __int8)(*PrivateCacheMap >> 15)) & 2;
v23 = PrivateCacheMap[12];
}
if( SharedCacheMap )
v24 = SharedCacheMap[38];
EventData.Reserved = 0;
v22 = ReadPattern;
EventData.Size = 72;
EventData.Ptr = (unsigned __int64)result;
LODWORD(Flag) = 4200706;
EtwTraceKernelEvent(&EventData, 1ui64, 0x80020000ui64, 0x160Cu, Flag);
}Referenced by:
CcScheduleReadAheadEx