Вызов PerformanceCounterCategory.Create () ниже на моей машине исключает это исключение:
System.ComponentModel.Win32Exception: доступ запрещен
И сообщение в Event Viewer выглядит следующим образом:
Не удалось открыть или получить доступ к ключу ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion \ Perflib для установки строк счетчика. Статус Win32, возвращаемый вызовом, является первым DWORD в разделе данных.
Вы знаете, в чем проблема?
Спасибо!
if (!PerformanceCounterCategory.Exists("MyCategory"))
{
CounterCreationDataCollection counters = new CounterCreationDataCollection();
CounterCreationData avgDurationBase = new CounterCreationData();
avgDurationBase.CounterName = "average time per operation base";
avgDurationBase.CounterHelp = "Average duration per operation execution base";
avgDurationBase.CounterType = PerformanceCounterType.AverageBase;
counters.Add(avgDurationBase);
// create new category with the counters above
PerformanceCounterCategory.Create("MyCategory",
"Sample category for Codeproject", PerformanceCounterCategoryType.SingleInstance, counters);
}