Пример #1
0
 public long GetFilesSummary(out CounterFileInfo summary)
 {
     IntPtr pdwNumEntries = new IntPtr(0);
     PDH_TIME_INFO structure = new PDH_TIME_INFO();
     IntPtr pdwBufferSize = new IntPtr(Marshal.SizeOf(structure));
     long num = PdhGetDataSourceTimeRangeH(this.m_hDataSource, ref pdwNumEntries, ref structure, ref pdwBufferSize);
     if (num != 0)
     {
         summary = new CounterFileInfo();
         return num;
     }
     summary = new CounterFileInfo(new DateTime(DateTime.FromFileTimeUtc(structure.StartTime).Ticks, DateTimeKind.Local), new DateTime(DateTime.FromFileTimeUtc(structure.EndTime).Ticks, DateTimeKind.Local), structure.SampleCount);
     return num;
 }
Пример #2
0
        public uint GetFilesSummary(out CounterFileInfo summary)
        {
            IntPtr pNumEntries = new IntPtr(0);
            PDH_TIME_INFO pInfo = new PDH_TIME_INFO();
            IntPtr bufSize = new IntPtr(System.Runtime.InteropServices.Marshal.SizeOf(pInfo));

            uint res = PdhGetDataSourceTimeRangeH(_hDataSource,
                                                    ref pNumEntries,
                                                    ref pInfo,
                                                    ref bufSize);
            if (res != 0)
            {
                summary = new CounterFileInfo();
                return res;
            }

            summary = new CounterFileInfo(new DateTime(DateTime.FromFileTimeUtc(pInfo.StartTime).Ticks, DateTimeKind.Local),
                                           new DateTime(DateTime.FromFileTimeUtc(pInfo.EndTime).Ticks, DateTimeKind.Local),
                                           pInfo.SampleCount);

            return res;
        }