私のマシンで以下の PerformanceCounterCategory.Create() を呼び出すと、この例外がスローされます。
System.ComponentModel.Win32Exception: アクセスが拒否されました
また、イベント ビューアーで報告されるメッセージは次のようになります。
SOFTWARE\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);
}