PerformanceCounterCategory.ReadCategory メソッド

定義

このパフォーマンス カウンター カテゴリに関連付けられたすべてのカウンターとパフォーマンス オブジェクト インスタンスのデータを読み取ります。

public:
 System::Diagnostics::InstanceDataCollectionCollection ^ ReadCategory();
public System.Diagnostics.InstanceDataCollectionCollection ReadCategory ();
member this.ReadCategory : unit -> System.Diagnostics.InstanceDataCollectionCollection
Public Function ReadCategory () As InstanceDataCollectionCollection

戻り値

カテゴリのカウンターとパフォーマンス オブジェクト インスタンスのデータを格納している InstanceDataCollectionCollection

例外

CategoryName プロパティが null です。 プロパティが設定されていない可能性があります。

基になるシステム API の呼び出しに失敗しました。

管理特権を使用せずに実行されているコードがパフォーマンス カウンターの読み取りを試みました。

次のコード例では、指定したPerformanceCounterCategory名前の をPerformanceCounterCategory作成します。 次に、 を使用ReadCategoryして、 InstanceDataCollectionCollection 内の オブジェクトのすべてのインスタンスのインスタンス データを格納している をPerformanceCounterPerformanceCounterCategory返します。


// Process the InstanceDataCollectionCollection for this category.
PerformanceCounterCategory pcc = new PerformanceCounterCategory(categoryName);
InstanceDataCollectionCollection idColCol = pcc.ReadCategory();
InstanceDataCollection[] idColArray = new InstanceDataCollection[idColCol.Count];

Console.WriteLine("InstanceDataCollectionCollection for \"{0}\" " +
    "has {1} elements.", categoryName, idColCol.Count);

' Process the InstanceDataCollectionCollection for this category.
Dim pcc As New PerformanceCounterCategory(categoryName)
Dim idColCol As InstanceDataCollectionCollection = pcc.ReadCategory()
Dim idColArray(idColCol.Count - 1) As InstanceDataCollection

Console.WriteLine("InstanceDataCollectionCollection for ""{0}"" " & _
    "has {1} elements.", categoryName, idColCol.Count)

注釈

を呼び出すReadCategory前に、 CategoryName プロパティを設定する必要があります。

カテゴリ全体を一度に読み取る方法は、システムがデータを提供する方法により、1 つのカウンターを読み取るのと同じくらい効率的です。

注意

Windows Vista 以降、Windows XP Professional x64 Edition、または Windows Server 2003 の非対話型ログオン セッションからパフォーマンス カウンターを読み取るには、パフォーマンス モニター Users グループのメンバーであるか、管理者特権を持っている必要があります。

Windows Vista 以降のパフォーマンス カウンターにアクセスするために特権を昇格させる必要がないようにするには、パフォーマンス モニター Users グループに自分自身を追加します。

Windows Vista 以降では、ユーザー アカウント制御 (UAC: User Account Control) でユーザーの権限が決定されます。 ユーザーが組み込みの Administrators グループのメンバーである場合、そのユーザーには標準ユーザー アクセス トークンおよび管理者アクセス トークンの 2 つのランタイム アクセス トークンが割り当てられています。 既定では、ユーザーは標準ユーザー ロールに所属します。 パフォーマンス カウンターにアクセスするコードを実行するには、まず特権を標準ユーザーから管理者に昇格させる必要があります。 この操作は、アプリケーションの起動時にアプリケーション アイコンを右クリックし、管理者として実行することを指定して行うことができます。

適用対象

こちらもご覧ください