CmpAccountForLogReservation

NTSTATUS __stdcall CmpAccountForLogReservation(CM_RM *CmRm, UINT8 Reserve){
  INT64 v2; 
  char v3; 
  _ETHREAD *CurrentThread; 
  void *MarshallingContext; 
  NTSTATUS appended; 
  __int64 rgcbReservation; 

  rgcbReservation = 48i64;
  v3 = v2;
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  --CurrentThread->Tcb.KernelApcDisable;
  ExAcquireResourceExclusiveLite((UINT64)CmRm->RmLock, 1, v2);
  MarshallingContext = CmRm->MarshallingContext;
  if( !v3 )
    rgcbReservation = -rgcbReservation;
  appended = ClfsReserveAndAppendLog(MarshallingContext, 0i64, 0, 0i64, 0i64, 1u, &rgcbReservation, 0, 0i64);
  ExReleaseResourceLite(CmRm->RmLock);
  KeLeaveCriticalRegionThread(KeGetCurrentThread());
  return appended;
}

Referenced by:

CmKtmNotification
CmpTransInitializeTransaction