Ignore:
Timestamp:
Dec 6, 2007, 3:36:02 PM (16 years ago)
Author:
rryu
Message:

メモリを2GB以上使っている場合でもステータスウインドウの表示がおかしくならないようにした。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MacFaceLibrary/MemoryStatisticsPSAPI.cs

    r73 r98  
    3232                        Unmanaged.GetPerformanceInfo(out pInfo, (UInt32)Marshal.SizeOf(typeof(Unmanaged.PERFORMANCE_INFORMATION)));
    3333
    34                         int available      = (int)(pInfo.PhysicalAvailable * pInfo.PageSize);
    35                         int committed      = (int)(pInfo.CommitTotal * pInfo.PageSize);
     34                        UInt64 available      = (UInt64)(pInfo.PhysicalAvailable * pInfo.PageSize);
     35                        UInt64 committed      = (UInt64)(pInfo.CommitTotal * pInfo.PageSize);
    3636                       
    3737                        // TODO:
     
    3939                        int pageout        = (int)0;
    4040
    41                         int systemCache    = (int)(pInfo.SystemCache * pInfo.PageSize);
    42                         int kernelPaged    = (int)(pInfo.KernelPaged * pInfo.PageSize);
    43                         int kernelNonPaged = (int)(pInfo.KernelNonpaged * pInfo.PageSize);
     41                        UInt64 systemCache    = (UInt64)(pInfo.SystemCache * pInfo.PageSize);
     42                        UInt64 kernelPaged    = (UInt64)(pInfo.KernelPaged * pInfo.PageSize);
     43                        UInt64 kernelNonPaged = (UInt64)(pInfo.KernelNonpaged * pInfo.PageSize);
    4444
    4545                        // XXX: ‚Æ‚è‚ ‚¦‚¸•Ð•û‚ɐU‚蕪‚¯‚Ä‚µ‚Ü‚¤
    46                         // int kernelTotal = usage.KernelNonPaged + usage.KernelPaged + usage.DriverTotal + usage.SystemCodeTotal;
    47                         int driverTotal    = (int)0;
    48                         int systemCodeTotal = (int)((pInfo.KernelTotal - (pInfo.KernelNonpaged + pInfo.KernelPaged)) * pInfo.PageSize);
     46                        // UInt64 kernelTotal = usage.KernelNonPaged + usage.KernelPaged + usage.DriverTotal + usage.SystemCodeTotal;
     47                        UInt64 driverTotal    = (UInt64)0;
     48                        UInt64 systemCodeTotal = (UInt64)((pInfo.KernelTotal - (pInfo.KernelNonpaged + pInfo.KernelPaged)) * pInfo.PageSize);
    4949
    5050                        return new MemoryUsage(available, committed, pagein, pageout,
Note: See TracChangeset for help on using the changeset viewer.