CmpPrepareLightWeightTransaction
NTSTATUS __stdcall CmpPrepareLightWeightTransaction(CM_TRANS *CmTrans){
_LOOKASIDE_LIST_EX *v1;
_LOOKASIDE_LIST_EX *v2;
INT64 v4;
INT64 v5;
__int64 v6;
__int64 v7;
UINT64 v8;
NTSTATUS v9;
LIST_ENTRY *ListIterator;
_EVENT_DATA_DESCRIPTOR v12[2];
v2 = v1;
if( *(&stru_140C00F40 + 1148) > 5u && tlgKeywordOn((__int64)&stru_140C00F40 + 4592, 1i64) )
tlgWriteTransfer_EtwWriteTransfer(
(__int64)&stru_140C00F40 + 4592,
(unsigned __int8 *)&word_1400224AE,
0i64,
0i64,
2u,
v12);
if( CmTrans )
{
LOCK_TRANSACTION_LIST();
CmTrans->TransState |= 1u;
UNLOCK_TRANSACTION_LIST(v5, v4);
ListIterator = 0i64;
while( 1 )
{
LODWORD(v6) = CmListGetNextElement(&CmTrans->KCBUoWListHead, &ListIterator, 0i64);
if( !v6 )
break;
v9 = CmpProcessLightWeightUOW(v6, 0i64, v7, v2);
if( v9 < 0 )
{
CmpCleanupLightWeightPrepare(CmTrans, v8);
goto LABEL_8;
}
}
}
v9 = 0;
LABEL_8:
if( *(&stru_140C00F40 + 1148) > 5u && tlgKeywordOn((__int64)&stru_140C00F40 + 4592, 1i64) )
tlgWriteTransfer_EtwWriteTransfer(
(__int64)&stru_140C00F40 + 4592,
(unsigned __int8 *)&byte_1400224DF,
0i64,
0i64,
2u,
v12);
return v9;
}Referenced by:
CmpCommitLightWeightTransaction