int CNBListViewCtrl::CompareItems(CDiskObjectPtr obj1, CDiskObjectPtr obj2) { int signAsc = m_abSortAsc[m_iColSort]? 1 : -1; switch(m_iColSort) { case 0: return signAsc * obj1->GetTitle().Compare( obj2->GetTitle() ); break; case 1: return signAsc * obj1->GetStringDeviceID().Compare( obj2->GetStringDeviceID() ); break; case 2: { _int64 size1, size2; size1 = obj1->GetUserSectorCount(); size2 = obj2->GetUserSectorCount(); if ( size1 > size2 ) return signAsc; else if ( size1 == size2 ) return 0; else return (-1) * signAsc; } break; default: break; } return 0; }
UINT CObjectUIHandler::GetSizeInMB(CDiskObjectPtr obj) const { _int64 nSize; nSize = obj->GetUserSectorCount() / ( 1024 / NDAS_BLOCK_SIZE ) / 1024; /* KB per sector */ /* MB per KB */ return static_cast<UINT>(nSize); }