PerformanceCounterCategory.Exists メソッド

定義

カテゴリがシステムに登録されているかどうかを判断します。

オーバーロード

名前 説明
Exists(String)

カテゴリがローカル コンピューターに登録されているかどうかを判断します。

Exists(String, String)

カテゴリが指定したコンピューターに登録されているかどうかを判断します。

Exists(String)

ソース:
PerformanceCounterCategory.cs
ソース:
PerformanceCounterCategory.cs
ソース:
PerformanceCounterCategory.cs
ソース:
PerformanceCounterCategory.cs
ソース:
PerformanceCounterCategory.cs
ソース:
PerformanceCounterCategory.cs
ソース:
PerformanceCounterCategory.cs
ソース:
PerformanceCounterCategory.cs

カテゴリがローカル コンピューターに登録されているかどうかを判断します。

public:
 static bool Exists(System::String ^ categoryName);
public static bool Exists(string categoryName);
static member Exists : string -> bool
Public Shared Function Exists (categoryName As String) As Boolean

パラメーター

categoryName
String

検索するパフォーマンス カウンター カテゴリの名前。

返品

true カテゴリが登録されている場合。それ以外の場合は false

例外

categoryName パラメーターはnull

categoryName パラメーターは空の文字列 ("") です。

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

管理特権なしで実行されているコードが、パフォーマンス カウンターを読み取ろうとしました。

次のコード例では、"orders" という名前の PerformanceCounterCategory オブジェクトが存在するかどうかを判断します。 存在しない場合は、2 つのパフォーマンス カウンターを含むPerformanceCounterCategory オブジェクトを使用して、CounterCreationDataCollection オブジェクトが作成されます。

if (!PerformanceCounterCategory.Exists("Orders"))
{
    CounterCreationData milk = new CounterCreationData();
    milk.CounterName = "milk";
    milk.CounterType = PerformanceCounterType.NumberOfItems32;

    CounterCreationData milkPerSecond = new CounterCreationData();
    milkPerSecond.CounterName = "milk orders/second";
    milkPerSecond.CounterType = PerformanceCounterType.RateOfCountsPerSecond32;

    CounterCreationDataCollection ccds = new CounterCreationDataCollection();
    ccds.Add(milkPerSecond);
    ccds.Add(milk);

    PerformanceCounterCategory.Create("Orders", "Number of processed orders",
        PerformanceCounterCategoryType.SingleInstance, ccds);
}
If Not PerformanceCounterCategory.Exists("Orders") Then        
    Dim milk As New CounterCreationData()
    milk.CounterName = "milk"
    milk.CounterType = PerformanceCounterType.NumberOfItems32
    
    Dim milkPerSecond As New CounterCreationData()
    milkPerSecond.CounterName = "milk orders/second"
    milkPerSecond.CounterType = PerformanceCounterType.RateOfCountsPerSecond32
    
    Dim ccds As New CounterCreationDataCollection()
    ccds.Add(milkPerSecond)
    ccds.Add(milk)
    
    PerformanceCounterCategory.Create("Orders", "Number of processed orders", _
           PerformanceCounterCategoryType.SingleInstance, ccds)
End If

注釈

Existsメソッドを使用すると、コンピューター上のすべてのパフォーマンス カウンターが可用性をチェックしている間、パフォーマンスが著しく低下する可能性があります。 パフォーマンス カウンターにのみ書き込む場合は、アプリケーションのインストール時にパフォーマンス カウンターを作成し、カウンターにアクセスするときにカテゴリが存在すると仮定することで、パフォーマンス カウンターのグローバル検索を回避できます。 パフォーマンス カウンターから読み取るときにパフォーマンス カウンター検索を回避する方法はありません。

Note

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

Windows Vista 以降のパフォーマンス カウンターにアクセスするために特権を昇格する必要を回避するには、パフォーマンス モニター ユーザー グループに自分自身を追加します。

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

こちらもご覧ください

適用対象

Exists(String, String)

ソース:
PerformanceCounterCategory.cs
ソース:
PerformanceCounterCategory.cs
ソース:
PerformanceCounterCategory.cs
ソース:
PerformanceCounterCategory.cs
ソース:
PerformanceCounterCategory.cs
ソース:
PerformanceCounterCategory.cs
ソース:
PerformanceCounterCategory.cs
ソース:
PerformanceCounterCategory.cs

カテゴリが指定したコンピューターに登録されているかどうかを判断します。

public:
 static bool Exists(System::String ^ categoryName, System::String ^ machineName);
public static bool Exists(string categoryName, string machineName);
static member Exists : string * string -> bool
Public Shared Function Exists (categoryName As String, machineName As String) As Boolean

パラメーター

categoryName
String

検索するパフォーマンス カウンター カテゴリの名前。

machineName
String

カテゴリを調べるコンピューターの名前。

返品

true カテゴリが登録されている場合。それ以外の場合は false

例外

categoryName パラメーターはnull

categoryName パラメーターは空の文字列 ("") です。

-又は-

machineName パラメーターが無効です。

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

ネットワーク パスが見つかりません。

呼び出し元に必要なアクセス許可がありません。

-又は-

管理特権なしで実行されているコードが、パフォーマンス カウンターを読み取ろうとしました。

次の例では、PerformanceCounterCategoryという名前のOrders オブジェクトが存在するかどうかを判断します。 存在しない場合、この例では、2 つのパフォーマンス カウンターを含むPerformanceCounterCategory オブジェクトを使用して、CounterCreationDataCollection オブジェクトを作成します。

if (!PerformanceCounterCategory.Exists("Orders"))
{
    CounterCreationData milk = new CounterCreationData();
    milk.CounterName = "milk";
    milk.CounterType = PerformanceCounterType.NumberOfItems32;

    CounterCreationData milkPerSecond = new CounterCreationData();
    milkPerSecond.CounterName = "milk orders/second";
    milkPerSecond.CounterType = PerformanceCounterType.RateOfCountsPerSecond32;

    CounterCreationDataCollection ccds = new CounterCreationDataCollection();
    ccds.Add(milkPerSecond);
    ccds.Add(milk);

    PerformanceCounterCategory.Create("Orders", "Number of processed orders",
        PerformanceCounterCategoryType.SingleInstance, ccds);
}
If Not PerformanceCounterCategory.Exists("Orders") Then        
    Dim milk As New CounterCreationData()
    milk.CounterName = "milk"
    milk.CounterType = PerformanceCounterType.NumberOfItems32
    
    Dim milkPerSecond As New CounterCreationData()
    milkPerSecond.CounterName = "milk orders/second"
    milkPerSecond.CounterType = PerformanceCounterType.RateOfCountsPerSecond32
    
    Dim ccds As New CounterCreationDataCollection()
    ccds.Add(milkPerSecond)
    ccds.Add(milk)
    
    PerformanceCounterCategory.Create("Orders", "Number of processed orders", _
           PerformanceCounterCategoryType.SingleInstance, ccds)
End If

注釈

Existsメソッドを使用すると、コンピューター上のすべてのパフォーマンス カウンターが可用性をチェックしている間、パフォーマンスが著しく低下する可能性があります。 パフォーマンス カウンターにのみ書き込む場合は、アプリケーションのインストール時にパフォーマンス カウンターを作成し、カウンターにアクセスするときにカテゴリが存在すると仮定することで、パフォーマンス カウンターのグローバル検索を回避できます。 パフォーマンス カウンターから読み取るときにパフォーマンス カウンター検索を回避する方法はありません。

Note

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

Windows Vista 以降のパフォーマンス カウンターにアクセスするために特権を昇格する必要を回避するには、パフォーマンス モニター ユーザー グループに自分自身を追加します。

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

こちらもご覧ください

適用対象