Пример #1
0
        internal static CpuInformation[] GetInfo()
        {
            IntPtr info;
            int    count;
            var    error = uv_cpu_info(out info, out count);

            CpuInformation[] ret = new CpuInformation[count];

            for (int i = 0; i < count; i++)
            {
                uv_cpu_info_t *cpuinfo = (uv_cpu_info_t *)((IntPtr)(((long)info) + (long)i * sizeof(uv_cpu_info_t)));
                ret[i] = new CpuInformation(cpuinfo);
            }

            uv_free_cpu_info(info, count);
            Ensure.Success(error);
            return(ret);
        }
Пример #2
0
        internal static CpuInformation[] GetInfo()
        {
            IntPtr info;
            int    count;
            int    r = uv_cpu_info(out info, out count);

            Ensure.Success(r);

            CpuInformation[] ret = new CpuInformation[count];

            for (int i = 0; i < count; i++)
            {
                uv_cpu_info_t *cpuinfo = (uv_cpu_info_t *)(info.ToInt64() + i * sizeof(uv_cpu_info_t));
                ret[i] = new CpuInformation(cpuinfo);
            }

            uv_free_cpu_info(info, count);

            return(ret);
        }
Пример #3
0
 internal CpuInformation(uv_cpu_info_t *info)
 {
     Name  = Marshal.PtrToStringAnsi(info->model);
     Speed = info->speed;
     Times = new CpuTimes(info->cpu_times);
 }