HvpIsLogEntryHeaderCoherent
UINT8 __stdcall HvpIsLogEntryHeaderCoherent(_HLOG_ENTRY_HEADER *LogEntryHeader, UINT64 LogEntryFileOffset){
unsigned int v2;
unsigned int EntrySize;
unsigned __int64 v4;
unsigned int HiveSize;
__int64 MetadataEntryCount;
unsigned __int64 v7;
UINT8 result;
result = 0;
if( LogEntryHeader->Signature == 1162638920 )
{
EntrySize = LogEntryHeader->EntrySize;
if( EntrySize > 0x28 )
{
v4 = EntrySize;
if( EntrySize + (unsigned __int64)(unsigned int)LogEntryFileOffset <= 0xFFFFFFFF )
{
HiveSize = LogEntryHeader->HiveSize;
if( HiveSize - 1 <= 0x7FFFDFFF && (HiveSize & 0xFFF) == 0 && (!v2 || HiveSize <= v2) )
{
MetadataEntryCount = LogEntryHeader->MetadataEntryCount;
if( (_DWORD)MetadataEntryCount )
{
v7 = 8 * MetadataEntryCount + 40;
if( v7 <= 0xFFFFFFFF && v4 >= v7 && (unsigned int)HvpLogEntryCheckHeaderChecksum(LogEntryHeader) )
return 1;
}
}
}
}
}
return result;
}Referenced by:
HvpApplyIncrementalLogFile
HvpDetermineIncrementalLogFileMaximums