本文整理汇总了C++中scxcorelib::SCXHandle::GetCacheSize方法的典型用法代码示例。如果您正苦于以下问题:C++ SCXHandle::GetCacheSize方法的具体用法?C++ SCXHandle::GetCacheSize怎么用?C++ SCXHandle::GetCacheSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类scxcorelib::SCXHandle
的用法示例。
在下文中一共展示了SCXHandle::GetCacheSize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: EnumerateOneInstance
MI_BEGIN_NAMESPACE
static void EnumerateOneInstance(
Context& context,
SCX_MemoryStatisticalInformation_Class& inst,
bool keysOnly,
SCXCoreLib::SCXHandle<SCXSystemLib::MemoryInstance> meminst)
{
// Populate the key values
inst.Name_value("Memory");
if (!keysOnly)
{
scxulong physmem = 0;
scxulong resmem = 0;
scxulong usermem = 0;
scxulong avail = 0;
scxulong data = 0;
scxulong data2 = 0;
inst.Caption_value("Memory information");
inst.Description_value("Memory usage and performance statistics");
inst.IsAggregate_value(meminst->IsTotal());
if (meminst->GetTotalPhysicalMemory(physmem))
{
// Adjust numbers from PAL to Megabytes
physmem = BytesToMegaBytes(physmem);
if (meminst->GetReservedMemory(resmem))
{
resmem = BytesToMegaBytes(resmem);
}
else
{
resmem = 0;
}
// If available, get memory unavailable for user processes and remove it from physical memory
usermem = physmem - resmem;
}
if (meminst->GetAvailableMemory(avail))
{
// Adjust numbers from PAL to Megabytes
avail = BytesToMegaBytes(avail);
inst.AvailableMemory_value(avail);
// If we have a number for physical memory use it to compute a percentage
if (usermem > 0)
{
// Need an unsigned char since this is what is required by the MOF
unsigned char percent = static_cast<unsigned char> (GetPercentage(0, avail, 0, usermem));
inst.PercentAvailableMemory_value(percent);
}
}
if (meminst->GetUsedMemory(data))
{
// Adjust numbers from PAL to Megabytes
data = BytesToMegaBytes(data);
inst.UsedMemory_value(data);
// If we have a number for physical memory use it to compute a percentage
if (usermem > 0)
{
unsigned char percent = static_cast<unsigned char> (GetPercentage(0, data, 0, usermem));
inst.PercentUsedMemory_value(percent);
}
}
{
data = 0;
unsigned char percent = static_cast<unsigned char> (0);
if (meminst->GetCacheSize(data) && usermem > 0)
{
percent = static_cast<unsigned char> (GetPercentage(0, BytesToMegaBytes(data), 0, usermem));
}
inst.PercentUsedByCache_value(percent);
}
bool pageReadsAvailable = meminst->GetPageReads(data);
bool pageWritesAvailable = meminst->GetPageWrites(data2);
if (pageReadsAvailable && pageWritesAvailable)
{
inst.PagesPerSec_value(data + data2);
}
if (pageReadsAvailable)
{
inst.PagesReadPerSec_value(data);
}
if (pageWritesAvailable)
{
inst.PagesWrittenPerSec_value(data2);
}
//.........这里部分代码省略.........