CmpTransEnlistUowInCmTrans
INT64 __stdcall CmpTransEnlistUowInCmTrans(CM_KCB_UOW *KcbUow, CM_TRANS *CmTrans){
INT64 v4;
INT64 v5;
_LIST_ENTRY *Blink;
INT64 result;
LOCK_TRANSACTION_LIST();
if( (CmTrans->TransState & 7) != 0 )
{
UNLOCK_TRANSACTION_LIST(v5, v4);
return 3222863874i64;
}
else
{
Blink = CmTrans->KCBUoWListHead.Blink;
if( Blink->Flink != &CmTrans->KCBUoWListHead )
__fastfail(3u);
KcbUow->TransactionListEntry.Flink = &CmTrans->KCBUoWListHead;
KcbUow->TransactionListEntry.Blink = Blink;
Blink->Flink = &KcbUow->TransactionListEntry;
CmTrans->KCBUoWListHead.Blink = &KcbUow->TransactionListEntry;
UNLOCK_TRANSACTION_LIST((INT64)Blink, v4);
result = 0i64;
KcbUow->Transaction = CmTrans;
}
return result;
}Referenced by:
CmDeleteValueKey
CmRenameKey
CmSetKeyFlags
CmSetLastWriteTimeKey
CmSetValueKey
CmpCreateChild
CmpSetKeySecurity
CmpUndoDeleteKeyForTrans