SetFailureLocation
VOID __stdcall SetFailureLocation(
_HIVE_LOAD_FAILURE *HiveLoadFailure,
UINT64 Recoverable,
_CM_LOAD_FAILURE_TYPE Type,
INT64 Status,
UINT64 Point){
int v5;
int v7;
__int64 Index;
__int64 RecoverableIndex;
char v11;
_CM_LOAD_FAILURE_TYPE v12;
int v13;
int v14;
_EVENT_DATA_DESCRIPTOR v15;
char *v16;
int v17;
int v18;
_CM_LOAD_FAILURE_TYPE *v19;
int v20;
int v21;
int *v22;
int v23;
int v24;
int *v25;
int v26;
int v27;
v5 = Status;
v7 = Recoverable;
if( *(&stru_140C00F40 + 1148) > 5u )
{
v18 = 0;
v21 = 0;
v24 = 0;
v27 = 0;
v16 = &v11;
v19 = &v12;
v22 = &v13;
v25 = &v14;
v12 = Type;
v20 = 4;
v13 = Status;
v23 = 4;
v26 = 4;
v11 = Recoverable;
v17 = 1;
v14 = Point;
tlgWriteTransfer_EtwWriteTransfer(
(__int64)&stru_140C00F40 + 4592,
(unsigned __int8 *)word_14002D31A,
0i64,
0i64,
6u,
&v15);
}
if( HiveLoadFailure )
{
if( v7 )
{
RecoverableIndex = HiveLoadFailure->RecoverableIndex;
if( (unsigned int)RecoverableIndex < 8 )
{
*((_DWORD *)&HiveLoadFailure->RecoverableLocations.Failure + 3 * RecoverableIndex) = Type;
*(&HiveLoadFailure->RecoverableLocations.Status + 3 * HiveLoadFailure->RecoverableIndex) = v5;
*(&HiveLoadFailure->RecoverableLocations.Point + 3 * HiveLoadFailure->RecoverableIndex++) = Point;
}
}
else
{
Index = HiveLoadFailure->Index;
if( (unsigned int)Index < 8 )
{
*((_DWORD *)&HiveLoadFailure->Locations.Failure + 3 * Index) = Type;
*(&HiveLoadFailure->Locations.Status + 3 * HiveLoadFailure->Index) = v5;
*(&HiveLoadFailure->Locations.Point + 3 * HiveLoadFailure->Index++) = Point;
}
}
}
}Referenced by:
CmCheckRegistry
CmLoadAppKey
CmLoadKey
CmpCheckKey
CmpCheckLeaf
CmpCheckRegistry2
CmpCheckValueList
CmpCreateHive
CmpDoFileRead
CmpInitHiveFromFile
CmpLinkHiveToMaster
CmpLoadHiveThread
CmpLoadKeyCommon
CmpMountPreloadedHives
CmpResolveHiveLoadConflict
CmpValidateHiveSecurityDescriptors
HvCheckBin
HvCheckHive
HvHiveStartFileBacked
HvHiveStartMemoryBacked
HvpBuildMapForMemoryBackedHive
HvpEnlistFreeCells
HvpInitMap
HvpPerformLogFileRecovery