MCPcopy Create free account
hub / github.com/BeneficialCode/WinArk / CompareItems

Method CompareItems

WinArk/KernelPoolView.cpp:398–465  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

396}
397
398bool CKernelPoolView::CompareItems(const TagItem& item1, const TagItem& item2) {
399 int result;
400 switch (m_SortColumn) {
401 case ColumnType::TagName:
402 result = item2.Tag.CompareNoCase(item1.Tag);
403 return m_Ascending ? (result > 0) : (result < 0);
404
405 case ColumnType::SourceName:
406 result = ::_wcsicmp(item2.SourceName, item1.SourceName);
407 return m_Ascending ? (result > 0) : (result < 0);
408
409 case ColumnType::SourceDescription:
410 result = ::_wcsicmp(item2.SourceDesc, item1.SourceDesc);
411 return m_Ascending ? (result > 0) : (result < 0);
412
413 case ColumnType::PagedAllocs:
414 if (m_Ascending)
415 return item1.TagInfo.PagedAllocs < item2.TagInfo.PagedAllocs;
416 else
417 return item1.TagInfo.PagedAllocs > item2.TagInfo.PagedAllocs;
418
419 case ColumnType::PagedFrees:
420 if (m_Ascending)
421 return item1.TagInfo.PagedFrees < item2.TagInfo.PagedFrees;
422 else
423 return item1.TagInfo.PagedFrees > item2.TagInfo.PagedFrees;
424
425 case ColumnType::PagedUsage:
426 if (m_Ascending)
427 return item1.TagInfo.PagedUsed < item2.TagInfo.PagedUsed;
428 else
429 return item1.TagInfo.PagedUsed > item2.TagInfo.PagedUsed;
430
431 case ColumnType::PagedDiff:
432 if (m_Ascending)
433 return item1.TagInfo.PagedAllocs - item1.TagInfo.PagedFrees < item2.TagInfo.PagedAllocs - item2.TagInfo.PagedFrees;
434 else
435 return item1.TagInfo.PagedAllocs - item1.TagInfo.PagedFrees > item2.TagInfo.PagedAllocs - item2.TagInfo.PagedFrees;
436
437 case ColumnType::NonPagedAllocs:
438 if (m_Ascending)
439 return item1.TagInfo.NonPagedAllocs < item2.TagInfo.NonPagedAllocs;
440 else
441 return item1.TagInfo.NonPagedAllocs > item2.TagInfo.NonPagedAllocs;
442
443 case ColumnType::NonPagedFrees:
444 if (m_Ascending)
445 return item1.TagInfo.NonPagedFrees < item2.TagInfo.NonPagedFrees;
446 else
447 return item1.TagInfo.NonPagedFrees > item2.TagInfo.NonPagedFrees;
448
449 case ColumnType::NonPagedDiff:
450 if (m_Ascending)
451 return item1.TagInfo.NonPagedAllocs - item1.TagInfo.NonPagedFrees < item2.TagInfo.NonPagedAllocs - item2.TagInfo.NonPagedFrees;
452 else
453 return item1.TagInfo.NonPagedAllocs - item1.TagInfo.NonPagedFrees > item2.TagInfo.NonPagedAllocs - item2.TagInfo.NonPagedFrees;
454
455 case ColumnType::NonPagedUsage:

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected