コード例 #1
0
 public ProcessTracker(Process p, QpcTimeStamp getTimeStamp)
 {
     activePTSetIndex = -1;
     touchedTimeStamp = getTimeStamp;
     process          = p;
     pid          = p.Id;
     name         = Utils.ExtensionMethods.TryGet(() => p.ProcessName);
     basePriority = Utils.ExtensionMethods.TryGet(() => p.BasePriority);
     mainModule   = Utils.ExtensionMethods.TryGet(() => p.MainModule);
     if (mainModule != null)
     {
         mainModuleFilePath    = Utils.ExtensionMethods.TryGet(() => mainModule.FileName);
         mainModuleFileVersion = Utils.ExtensionMethods.TryGet(() => mainModule.FileVersionInfo);
     }
     availableItemsToTrack = TrackedValues.TestAvailableItems(p);
     prevTrackedValues     = default(TrackedValues);
     trackedValues         = TrackedValues.TryGetFrom(p, getTimeStamp, availableItemsToTrack, prevTrackedValues);
 }
コード例 #2
0
 public void UpdateFrom(Process p, QpcTimeStamp getTimeStamp)
 {
     touchedTimeStamp  = getTimeStamp;
     prevTrackedValues = trackedValues;
     trackedValues     = TrackedValues.TryGetFrom(p, getTimeStamp, availableItemsToTrack, prevTrackedValues);
 }