WheapGetPreallocatedErrorRecord
_WHEAP_ERROR_RECORD_WRAPPER *__stdcall WheapGetPreallocatedErrorRecord(_WHEAP_ERROR_SOURCE *ErrSrc){
_WHEAP_ERROR_RECORD_WRAPPER *Records;
char v2;
unsigned int v3;
Records = ErrSrc->Records;
v2 = 0;
v3 = 0;
if( ErrSrc->RecordCount )
{
while( Records->InUse == 1 || _InterlockedCompareExchange(&Records->InUse, 1, 0) )
{
++v3;
Records = (_WHEAP_ERROR_RECORD_WRAPPER *)((char *)Records + Records->Length);
if( v3 >= ErrSrc->RecordCount )
return(_WHEAP_ERROR_RECORD_WRAPPER *)((unsigned __int64)Records & -(__int64)(v2 != 0));
}
v2 = 1;
}
return(_WHEAP_ERROR_RECORD_WRAPPER *)((unsigned __int64)Records & -(__int64)(v2 != 0));
}Referenced by:
WheapAllocErrorRecord