PerformanceCounterCategory.Create PerformanceCounterCategory.Create PerformanceCounterCategory.Create PerformanceCounterCategory.Create Method

定義

カスタム パフォーマンス カウンター カテゴリと 1 つ以上のカウンターをシステムに登録します。Registers a custom performance counter category and one or more counters with the system.

オーバーロード

Create(String, String, String, String) Create(String, String, String, String) Create(String, String, String, String) Create(String, String, String, String)

NumberOfItems32 タイプの単一のカウンターが含まれているカスタム パフォーマンス カウンター カテゴリをローカル コンピューターに登録します。Registers a custom performance counter category containing a single counter of type NumberOfItems32 on the local computer.

Create(String, String, PerformanceCounterCategoryType, String, String) Create(String, String, PerformanceCounterCategoryType, String, String) Create(String, String, PerformanceCounterCategoryType, String, String) Create(String, String, PerformanceCounterCategoryType, String, String)

NumberOfItems32 タイプの単一のカウンターが含まれているカスタム パフォーマンス カウンター カテゴリをローカル コンピューターに登録します。Registers the custom performance counter category containing a single counter of type NumberOfItems32 on the local computer.

Create(String, String, CounterCreationDataCollection) Create(String, String, CounterCreationDataCollection) Create(String, String, CounterCreationDataCollection) Create(String, String, CounterCreationDataCollection)

指定したカウンターが含まれているカスタム パフォーマンス カウンター カテゴリをローカル コンピューターに登録します。Registers the custom performance counter category containing the specified counters on the local computer.

Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection) Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection) Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection) Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection)

指定したカウンターが含まれているカスタム パフォーマンス カウンター カテゴリをローカル コンピューターに登録します。Registers the custom performance counter category containing the specified counters on the local computer.

Create(String, String, String, String) Create(String, String, String, String) Create(String, String, String, String) Create(String, String, String, String)

警告

この API は現在使われていません。

NumberOfItems32 タイプの単一のカウンターが含まれているカスタム パフォーマンス カウンター カテゴリをローカル コンピューターに登録します。Registers a custom performance counter category containing a single counter of type NumberOfItems32 on the local computer.

public:
 static System::Diagnostics::PerformanceCounterCategory ^ Create(System::String ^ categoryName, System::String ^ categoryHelp, System::String ^ counterName, System::String ^ counterHelp);
[System.Obsolete("Use another overload that uses PerformanceCounterCategoryType instead")]
[System.Obsolete("This method has been deprecated.  Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead.  http://go.microsoft.com/fwlink/?linkid=14202")]
[System.Obsolete("This method has been deprecated.  Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead.  https://go.microsoft.com/fwlink/?linkid=14202")]
public static System.Diagnostics.PerformanceCounterCategory Create (string categoryName, string categoryHelp, string counterName, string counterHelp);
static member Create : string * string * string * string -> System.Diagnostics.PerformanceCounterCategory
Public Shared Function Create (categoryName As String, categoryHelp As String, counterName As String, counterHelp As String) As PerformanceCounterCategory

パラメーター

categoryName
String String String String

作成してシステムに登録するカスタム パフォーマンス カウンター カテゴリの名前。The name of the custom performance counter category to create and register with the system.

categoryHelp
String String String String

カスタム カテゴリの説明。A description of the custom category.

counterName
String String String String

新しいカテゴリの一部として作成する NumberOfItems32 タイプの新しいカウンターの名前。The name of a new counter, of type NumberOfItems32, to create as part of the new category.

counterHelp
String String String String

新しいカスタム カテゴリに関連付けるカウンターの説明。A description of the counter that is associated with the new custom category.

戻り値

新しいシステム カテゴリ (パフォーマンス オブジェクト) と関連付ける PerformanceCounterCategoryA PerformanceCounterCategory that is associated with the new system category, or performance object.

例外

counterNamenull または空の文字列 ("") です。counterName is null or is an empty string ("").

または-or- counterName で指定されているカウンターが既に存在します。The counter that is specified by counterName already exists.

または-or- counterName に無効な構文が含まれています。counterName has invalid syntax. 円記号文字 ("\") が含まれているか、長さが 80 文字を超えています。It might contain backslash characters ("\") or have length greater than 80 characters.

カテゴリが既にローカル コンピューター上に存在しています。The category already exists on the local computer.

categoryNamenullです。categoryName is null.

- または --or- counterHelpnullです。counterHelp is null.

基になるシステム API の呼び出しに失敗しました。A call to an underlying system API failed.

管理特権を使用せずに実行されているコードがパフォーマンス カウンターの読み取りを試みました。Code that is executing without administrative privileges attempted to read a performance counter.

次のコード例を作成、PerformanceCounterCategoryとシングルPerformanceCounterごとに、ヘルプ テキストを使用して、Create(String, String, String, String)メソッド。The following code example creates a PerformanceCounterCategory and single PerformanceCounter with help text for each, using the Create(String, String, String, String) method.

public static void Main(string[] args)
{
    string categoryName = "";
    string counterName = "";
    string categoryHelp = "";
    string counterHelp = "";
    PerformanceCounterCategory pcc;

    // Copy the supplied arguments into the local variables.
    try
    {
        categoryName = args[0];
        counterName = args[1];
        categoryHelp = args[2];
        counterHelp = args[3];
    }
    catch(Exception ex)
    {
        // Ignore the exception from non-supplied arguments.
    }

    Console.WriteLine("Category name: \"{0}\"", categoryName);
    Console.WriteLine("Category help: \"{0}\"", categoryHelp);
    Console.WriteLine("Counter name:  \"{0}\"", counterName);
    Console.WriteLine("Counter help:  \"{0}\"", counterHelp);

    // Use the Create overload that creates a single counter.
    try
    {
        pcc = PerformanceCounterCategory.Create(categoryName, categoryHelp, counterName, counterHelp);
        Console.WriteLine("Category \"{0}\" created.", pcc.CategoryName);

    }
    catch(Exception ex)
    {
        Console.WriteLine("Unable to create the above category and counter:" + "\n" + ex.Message);
    }
}
Sub Main(ByVal args() As String)
    Dim categoryName As String = ""
    Dim counterName As String = ""
    Dim categoryHelp As String = ""
    Dim counterHelp As String = ""
    Dim pcc As PerformanceCounterCategory

    ' Copy the supplied arguments into the local variables.
    Try
        categoryName = args(0)
        counterName = args(1)
        categoryHelp = args(2)
        counterHelp = args(3)
    Catch ex As Exception
        ' Ignore the exception from non-supplied arguments.
    End Try

    Console.WriteLine("Category name: ""{0}""", categoryName)
    Console.WriteLine("Category help: ""{0}""", categoryHelp)
    Console.WriteLine("Counter name:  ""{0}""", counterName)
    Console.WriteLine("Counter help:  ""{0}""", counterHelp)

    ' Use the Create overload that creates a single counter.
    Try
        pcc = PerformanceCounterCategory.Create( _
            categoryName, categoryHelp, counterName, counterHelp)
        Console.WriteLine("Category ""{0}"" created.", pcc.CategoryName)

    Catch ex As Exception
        Console.WriteLine( _
            "Unable to create the above category and counter:" & _
            vbCrLf & ex.Message)
    End Try
End Sub

注釈

注意

パフォーマンス カウンターを読み取る Windows Vista 以降では、Windows XP Professional x64 Edition、または Windows Server 2003 には、Performance Monitor Users グループのメンバーであるか、管理者特権を持つ必要があります。To read performance counters in Windows Vista and later, Windows XP Professional x64 Edition, or Windows Server 2003, you must either be a member of the Performance Monitor Users group or have administrative privileges.

Windows Vista 以降のパフォーマンス カウンターにアクセスする、特権を昇格することを避けるためには、Performance Monitor Users グループに追加します。To avoid having to elevate your privileges to access performance counters in Windows Vista and later, add yourself to the Performance Monitor Users group.

Windows Vista 以降では、ユーザー アカウント制御 (UAC: User Account Control) でユーザーの権限が決定されます。In Windows Vista and later, User Account Control (UAC) determines the privileges of a user. ユーザーが組み込みの Administrators グループのメンバーである場合、そのユーザーには標準ユーザー アクセス トークンおよび管理者アクセス トークンの 2 つのランタイム アクセス トークンが割り当てられています。If you are a member of the Built-in Administrators group, you are assigned two run-time access tokens: a standard user access token and an administrator access token. 既定では、ユーザーは標準ユーザー ロールに所属します。By default, you are in the standard user role. パフォーマンス カウンターにアクセスするコードを実行するには標準ユーザーから管理者に、特権を昇格する必要があります。To execute the code that accesses performance counters, you must first elevate your privileges from standard user to administrator. この操作は、アプリケーションの起動時にアプリケーション アイコンを右クリックし、管理者として実行することを指定して行うことができます。You can do this when you start an application by right-clicking the application icon and indicating that you want to run as an administrator.

セキュリティ

PerformanceCounterPermission
パフォーマンス カウンター カテゴリの管理タスクを実行します。for performing administrative tasks on performance counter categories. Administer (関連する列挙体)Associated enumeration: Administer.

こちらもご覧ください

Create(String, String, PerformanceCounterCategoryType, String, String) Create(String, String, PerformanceCounterCategoryType, String, String) Create(String, String, PerformanceCounterCategoryType, String, String) Create(String, String, PerformanceCounterCategoryType, String, String)

NumberOfItems32 タイプの単一のカウンターが含まれているカスタム パフォーマンス カウンター カテゴリをローカル コンピューターに登録します。Registers the custom performance counter category containing a single counter of type NumberOfItems32 on the local computer.

public:
 static System::Diagnostics::PerformanceCounterCategory ^ Create(System::String ^ categoryName, System::String ^ categoryHelp, System::Diagnostics::PerformanceCounterCategoryType categoryType, System::String ^ counterName, System::String ^ counterHelp);
public static System.Diagnostics.PerformanceCounterCategory Create (string categoryName, string categoryHelp, System.Diagnostics.PerformanceCounterCategoryType categoryType, string counterName, string counterHelp);
static member Create : string * string * System.Diagnostics.PerformanceCounterCategoryType * string * string -> System.Diagnostics.PerformanceCounterCategory
Public Shared Function Create (categoryName As String, categoryHelp As String, categoryType As PerformanceCounterCategoryType, counterName As String, counterHelp As String) As PerformanceCounterCategory

パラメーター

categoryName
String String String String

作成してシステムに登録するカスタム パフォーマンス カウンター カテゴリの名前。The name of the custom performance counter category to create and register with the system.

categoryHelp
String String String String

カスタム カテゴリの説明。A description of the custom category.

categoryType
PerformanceCounterCategoryType PerformanceCounterCategoryType PerformanceCounterCategoryType PerformanceCounterCategoryType

カテゴリが PerformanceCounterCategoryTypeMultiInstance、または SingleInstance のいずれであるかを指定する、Unknown 値の 1 つ。One of the PerformanceCounterCategoryType values specifying whether the category is MultiInstance, SingleInstance, or Unknown.

counterName
String String String String

新しいカテゴリの一部として作成する新しいカウンターの名前。The name of a new counter to create as part of the new category.

counterHelp
String String String String

新しいカスタム カテゴリに関連付けるカウンターの説明。A description of the counter that is associated with the new custom category.

戻り値

新しいシステム カテゴリ (パフォーマンス オブジェクト) と関連付ける PerformanceCounterCategoryA PerformanceCounterCategory that is associated with the new system category, or performance object.

例外

counterNamenull または空の文字列 ("") です。counterName is null or is an empty string ("").

または-or- counterName で指定されているカウンターが既に存在します。The counter that is specified by counterName already exists.

または-or- counterName に無効な構文が含まれています。counterName has invalid syntax. 円記号文字 ("\") が含まれているか、長さが 80 文字を超えています。It might contain backslash characters ("\") or have length greater than 80 characters.

カテゴリが既にローカル コンピューター上に存在しています。The category already exists on the local computer.

categoryNamenullです。categoryName is null.

- または --or- counterHelpnullです。counterHelp is null.

基になるシステム API の呼び出しに失敗しました。A call to an underlying system API failed.

管理特権を使用せずに実行されているコードがパフォーマンス カウンターの読み取りを試みました。Code that is executing without administrative privileges attempted to read a performance counter.

次のコード例の使用を示しています、Createメソッド。The following code example shows the use of the Create method. 例では、カスタムの 1 つのインスタンスのパフォーマンス カウンター カテゴリを作成する方法を示します。The example shows how to create a custom, single instance performance counter category.

Console.WriteLine("Creating Inventory custom counter");
if (!PerformanceCounterCategory.Exists("Inventory"))
    PerformanceCounterCategory.Create("Inventory",
        "Truck inventory",
        PerformanceCounterCategoryType.SingleInstance,
        "Trucks", "Number of trucks on hand");
Console.WriteLine("Creating Inventory custom counter")
If Not PerformanceCounterCategory.Exists("Inventory") Then
    PerformanceCounterCategory.Create("Inventory", "Truck inventory", PerformanceCounterCategoryType.SingleInstance, "Trucks", "Number of trucks on hand")
End If

注釈

categoryTypeパラメーターは、または複数インスタンスのパフォーマンス カウンター カテゴリの単一インスタンスがかどうかを指定します。The categoryType parameter specifies whether the performance counter category is single-instance or multi-instance. 作成され、別のインスタンスが追加されると複数インスタンスになりますが、既定では、カテゴリ、単一インスタンスです。By default, a category is single-instance when it is created and becomes multi-instance when another instance is added. カテゴリは、アプリケーションがセットアップされ、実行時にインスタンスが追加されるときに作成されます。Categories are created when an application is set up, and instances are added at run time. .NET Framework version 1.0 および 1.1 でないまたは単一インスタンスのマルチ インスタンス パフォーマンス カウンターのカテゴリを確認するために必要です。In the .NET Framework versions 1.0 and 1.1, it is not necessary to know if a performance counter category is multi-instance or single-instance. .NET Framework 2.0.NET Framework 2.0PerformanceCounterCategoryTypeパフォーマンス カウンターが複数のインスタンスを持つかどうかを示す列挙体を使用します。In the .NET Framework 2.0.NET Framework 2.0, the PerformanceCounterCategoryType enumeration is used to indicate whether a performance counter can have multiple instances.

パフォーマンス カウンターのカテゴリにインストールされている、.NET Framework 2.0.NET Framework 2.0独自のメモリを持っている各パフォーマンス カウンター カテゴリ別の共有メモリを使用します。Performance counter categories installed with the .NET Framework 2.0.NET Framework 2.0 use separate shared memory, with each performance counter category having its own memory. 別の共有メモリのサイズを指定するには、レジストリ キー hkey_local_machine \system\currentcontrolset\services FileMappingSize をという名前の DWORD を作成して\<カテゴリ名 > \パフォーマンス。You can specify the size of separate shared memory by creating a DWORD named FileMappingSize in the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<category name> \Performance. FileMappingSize 値は、カテゴリの共有メモリのサイズに設定されます。The FileMappingSize value is set to the shared memory size of the category. 既定のサイズは 131072 10 進数です。The default size is 131072 decimal. FileMappingSize 値が存在しない場合、fileMappingSize属性の値、 performanceCounters Machine.config ファイルで指定された要素を使用すると、構成ファイルの処理に追加のオーバーヘッドを発生させます。If the FileMappingSize value is not present, the fileMappingSize attribute value for the performanceCounters element specified in the Machine.config file is used, causing additional overhead for configuration file processing. レジストリでファイル マップのサイズを設定して、アプリケーションの起動時のパフォーマンスの向上を実現できます。You can realize a performance improvement for application startup by setting the file mapping size in the registry.

注意

アプリケーションのインストール中に、アプリケーションの実行中ではなく、新しいパフォーマンス カウンター カテゴリを作成することを強くお勧めします。It is strongly recommended that new performance counter categories be created during the installation of the application, not during the execution of the application. これにより、登録済みのパフォーマンス カウンター カテゴリの一覧を更新するオペレーティング システムまでの時間です。This allows time for the operating system to refresh its list of registered performance counter categories. 一覧が更新されていない場合、カテゴリを使用する試行は失敗します。If the list has not been refreshed, the attempt to use the category will fail.

注意

パフォーマンス カウンターを読み取る Windows Vista 以降では、Windows XP Professional x64 Edition、または Windows Server 2003 には、Performance Monitor Users グループのメンバーであるか、管理者特権を持つ必要があります。To read performance counters in Windows Vista and later, Windows XP Professional x64 Edition, or Windows Server 2003, you must either be a member of the Performance Monitor Users group or have administrative privileges.

Windows Vista 以降のパフォーマンス カウンターにアクセスする、特権を昇格することを避けるためには、Performance Monitor Users グループに追加します。To avoid having to elevate your privileges to access performance counters in Windows Vista and later, add yourself to the Performance Monitor Users group.

Windows Vista 以降では、ユーザー アカウント制御 (UAC: User Account Control) でユーザーの権限が決定されます。In Windows Vista and later, User Account Control (UAC) determines the privileges of a user. ユーザーが組み込みの Administrators グループのメンバーである場合、そのユーザーには標準ユーザー アクセス トークンおよび管理者アクセス トークンの 2 つのランタイム アクセス トークンが割り当てられています。If you are a member of the Built-in Administrators group, you are assigned two run-time access tokens: a standard user access token and an administrator access token. 既定では、ユーザーは標準ユーザー ロールに所属します。By default, you are in the standard user role. パフォーマンス カウンターにアクセスするコードを実行するには標準ユーザーから管理者に、特権を昇格する必要があります。To execute the code that accesses performance counters, you must first elevate your privileges from standard user to administrator. この操作は、アプリケーションの起動時にアプリケーション アイコンを右クリックし、管理者として実行することを指定して行うことができます。You can do this when you start an application by right-clicking the application icon and indicating that you want to run as an administrator.

セキュリティ

PerformanceCounterPermission
パフォーマンス カウンター カテゴリの管理タスクを実行します。for performing administrative tasks on performance counter categories. Administer (関連する列挙体)Associated enumeration: Administer.

こちらもご覧ください

Create(String, String, CounterCreationDataCollection) Create(String, String, CounterCreationDataCollection) Create(String, String, CounterCreationDataCollection) Create(String, String, CounterCreationDataCollection)

警告

この API は現在使われていません。

指定したカウンターが含まれているカスタム パフォーマンス カウンター カテゴリをローカル コンピューターに登録します。Registers the custom performance counter category containing the specified counters on the local computer.

public:
 static System::Diagnostics::PerformanceCounterCategory ^ Create(System::String ^ categoryName, System::String ^ categoryHelp, System::Diagnostics::CounterCreationDataCollection ^ counterData);
[System.Obsolete("Use another overload that uses PerformanceCounterCategoryType instead")]
[System.Obsolete("This method has been deprecated.  Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead.  http://go.microsoft.com/fwlink/?linkid=14202")]
[System.Obsolete("This method has been deprecated.  Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead.  https://go.microsoft.com/fwlink/?linkid=14202")]
public static System.Diagnostics.PerformanceCounterCategory Create (string categoryName, string categoryHelp, System.Diagnostics.CounterCreationDataCollection counterData);
static member Create : string * string * System.Diagnostics.CounterCreationDataCollection -> System.Diagnostics.PerformanceCounterCategory
Public Shared Function Create (categoryName As String, categoryHelp As String, counterData As CounterCreationDataCollection) As PerformanceCounterCategory

パラメーター

categoryName
String String String String

作成してシステムに登録するカスタム パフォーマンス カウンター カテゴリの名前。The name of the custom performance counter category to create and register with the system.

categoryHelp
String String String String

カスタム カテゴリの説明。A description of the custom category.

counterData
CounterCreationDataCollection CounterCreationDataCollection CounterCreationDataCollection CounterCreationDataCollection

新しいカテゴリの一部として作成するカウンターを指定する CounterCreationDataCollectionA CounterCreationDataCollection that specifies the counters to create as part of the new category.

戻り値

新しいカスタム カテゴリ (パフォーマンス オブジェクト) と関連付ける PerformanceCounterCategoryA PerformanceCounterCategory that is associated with the new custom category, or performance object.

例外

counterData コレクションで指定されているカウンター名が null または空の文字列 ("") です。A counter name that is specified within the counterData collection is null or an empty string ("").

または-or- counterData コレクションで指定されているカウンターが既に存在します。A counter that is specified within the counterData collection already exists.

または-or- counterName パラメーターの構文が無効です。The counterName parameter has invalid syntax. 円記号文字 ("\") が含まれているか、長さが 80 文字を超えています。It might contain backslash characters ("\") or have length greater than 80 characters.

categoryName パラメーターが null です。The categoryName parameter is null.

カテゴリが既にローカル コンピューター上に存在しています。The category already exists on the local computer.

または-or- counterData コレクションのレイアウトが、ベース カウンターに適合していません。The layout of the counterData collection is incorrect for base counters. カウンターのタイプが AverageCount64AverageTimer32CounterMultiTimerCounterMultiTimerInverseCounterMultiTimer100NsCounterMultiTimer100NsInverseRawFractionSampleFraction、または SampleCounter の場合は、直後にベース カウンター タイプのいずれか (AverageBaseMultiBaseRawBase、または SampleBase) が必要です。A counter of type AverageCount64, AverageTimer32, CounterMultiTimer, CounterMultiTimerInverse, CounterMultiTimer100Ns, CounterMultiTimer100NsInverse, RawFraction, SampleFraction or SampleCounter has to be immediately followed by one of the base counter types (AverageBase, MultiBase, RawBase, or SampleBase).

基になるシステム API の呼び出しに失敗しました。A call to an underlying system API failed.

管理特権を使用せずに実行されているコードがパフォーマンス カウンターの読み取りを試みました。Code that is executing without administrative privileges attempted to read a performance counter.

次のコード例を決定するかどうかをPerformanceCounterCategory"orders"という名前のオブジェクトが存在します。The following code example determines whether a PerformanceCounterCategory object named "orders" exists. そうでないを作成する場合、PerformanceCounterCategoryオブジェクトを使用して、CounterCreationDataCollectionを 2 つのパフォーマンス カウンターを含むオブジェクト。If not, it creates the PerformanceCounterCategory object by using a CounterCreationDataCollection object that contains two performance counters.

if (  !PerformanceCounterCategory::Exists( "Orders" ) )
{
   CounterCreationData^ milk = gcnew CounterCreationData;
   milk->CounterName = "milk";
   milk->CounterType = PerformanceCounterType::NumberOfItems32;

   CounterCreationData^ milkPerSecond = gcnew CounterCreationData;
   milkPerSecond->CounterName = "milk orders/second";
   milkPerSecond->CounterType = PerformanceCounterType::RateOfCountsPerSecond32;

   CounterCreationDataCollection^ ccds = gcnew CounterCreationDataCollection;
   ccds->Add( milkPerSecond );
   ccds->Add( milk );
   PerformanceCounterCategory::Create( "Orders", "Number of processed orders", ccds );
}
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

注釈

注意

パフォーマンス カウンターを読み取る Windows Vista 以降では、Windows XP Professional x64 Edition、または Windows Server 2003 には、Performance Monitor Users グループのメンバーであるか、管理者特権を持つ必要があります。To read performance counters in Windows Vista and later, Windows XP Professional x64 Edition, or Windows Server 2003, you must either be a member of the Performance Monitor Users group or have administrative privileges.

Windows Vista 以降のパフォーマンス カウンターにアクセスする、特権を昇格することを避けるためには、Performance Monitor Users グループに追加します。To avoid having to elevate your privileges to access performance counters in Windows Vista and later, add yourself to the Performance Monitor Users group.

Windows Vista 以降では、ユーザー アカウント制御 (UAC: User Account Control) でユーザーの権限が決定されます。In Windows Vista and later, User Account Control (UAC) determines the privileges of a user. ユーザーが組み込みの Administrators グループのメンバーである場合、そのユーザーには標準ユーザー アクセス トークンおよび管理者アクセス トークンの 2 つのランタイム アクセス トークンが割り当てられています。If you are a member of the Built-in Administrators group, you are assigned two run-time access tokens: a standard user access token and an administrator access token. 既定では、ユーザーは標準ユーザー ロールに所属します。By default, you are in the standard user role. パフォーマンス カウンターにアクセスするコードを実行するには標準ユーザーから管理者に、特権を昇格する必要があります。To execute the code that accesses performance counters, you must first elevate your privileges from standard user to administrator. この操作は、アプリケーションの起動時にアプリケーション アイコンを右クリックし、管理者として実行することを指定して行うことができます。You can do this when you start an application by right-clicking the application icon and indicating that you want to run as an administrator.

セキュリティ

PerformanceCounterPermission
パフォーマンス カウンター カテゴリの管理タスクを実行します。for performing administrative tasks on performance counter categories. Administer (関連する列挙体)Associated enumeration: Administer.

こちらもご覧ください

Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection) Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection) Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection) Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection)

指定したカウンターが含まれているカスタム パフォーマンス カウンター カテゴリをローカル コンピューターに登録します。Registers the custom performance counter category containing the specified counters on the local computer.

public:
 static System::Diagnostics::PerformanceCounterCategory ^ Create(System::String ^ categoryName, System::String ^ categoryHelp, System::Diagnostics::PerformanceCounterCategoryType categoryType, System::Diagnostics::CounterCreationDataCollection ^ counterData);
public static System.Diagnostics.PerformanceCounterCategory Create (string categoryName, string categoryHelp, System.Diagnostics.PerformanceCounterCategoryType categoryType, System.Diagnostics.CounterCreationDataCollection counterData);
static member Create : string * string * System.Diagnostics.PerformanceCounterCategoryType * System.Diagnostics.CounterCreationDataCollection -> System.Diagnostics.PerformanceCounterCategory
Public Shared Function Create (categoryName As String, categoryHelp As String, categoryType As PerformanceCounterCategoryType, counterData As CounterCreationDataCollection) As PerformanceCounterCategory

パラメーター

categoryName
String String String String

作成してシステムに登録するカスタム パフォーマンス カウンター カテゴリの名前。The name of the custom performance counter category to create and register with the system.

categoryHelp
String String String String

カスタム カテゴリの説明。A description of the custom category.

counterData
CounterCreationDataCollection CounterCreationDataCollection CounterCreationDataCollection CounterCreationDataCollection

新しいカテゴリの一部として作成するカウンターを指定する CounterCreationDataCollectionA CounterCreationDataCollection that specifies the counters to create as part of the new category.

戻り値

新しいカスタム カテゴリ (パフォーマンス オブジェクト) と関連付ける PerformanceCounterCategoryA PerformanceCounterCategory that is associated with the new custom category, or performance object.

例外

counterData コレクションで指定されているカウンター名が null または空の文字列 ("") です。A counter name that is specified within the counterData collection is null or an empty string ("").

または-or- counterData コレクションで指定されているカウンターが既に存在します。A counter that is specified within the counterData collection already exists.

または-or- counterName に無効な構文が含まれています。counterName has invalid syntax. 円記号文字 ("\") が含まれているか、長さが 80 文字を超えています。It might contain backslash characters ("\") or have length greater than 80 characters.

categoryNamenullです。categoryName is null.

- または --or- counterDatanullです。counterData is null.

categoryType 値が MultiInstanceSingleInstanceUnknown のいずれの値でもありません。categoryType value is outside of the range of the following values: MultiInstance, SingleInstance, or Unknown.

カテゴリが既にローカル コンピューター上に存在しています。The category already exists on the local computer.

または-or- counterData コレクションのレイアウトが、ベース カウンターに適合していません。The layout of the counterData collection is incorrect for base counters. カウンターのタイプが AverageCount64AverageTimer32CounterMultiTimerCounterMultiTimerInverseCounterMultiTimer100NsCounterMultiTimer100NsInverseRawFractionSampleFraction、または SampleCounter の場合は、直後にベース カウンター タイプのいずれか (AverageBaseMultiBaseRawBase、または SampleBase) が必要です。A counter of type AverageCount64, AverageTimer32, CounterMultiTimer, CounterMultiTimerInverse, CounterMultiTimer100Ns, CounterMultiTimer100NsInverse, RawFraction, SampleFraction, or SampleCounter must be immediately followed by one of the base counter types (AverageBase, MultiBase, RawBase, or SampleBase).

基になるシステム API の呼び出しに失敗しました。A call to an underlying system API failed.

管理特権を使用せずに実行されているコードがパフォーマンス カウンターの読み取りを試みました。Code that is executing without administrative privileges attempted to read a performance counter.

次のコード例の使用を示しています、Createメソッド。The following code example shows the use of the Create method. 例では、カスタム、1 秒あたりの注文の数のマルチ インスタンス パフォーマンス カウンター カテゴリを作成する方法を示します。The example shows how to create a custom, multi-instance performance counter category for the number of orders per second.

CounterCreationData data1 = new CounterCreationData("Trucks",
    "Number of orders", PerformanceCounterType.NumberOfItems32);
CounterCreationData data2 = new CounterCreationData("Rate of sales",
    "Orders/second", PerformanceCounterType.RateOfCountsPerSecond32);
CounterCreationDataCollection ccds = new CounterCreationDataCollection();
ccds.Add(data1);
ccds.Add(data2);
Console.WriteLine("Creating Orders custom counter.");
if (!PerformanceCounterCategory.Exists("Orders"))
    PerformanceCounterCategory.Create("Orders",
        "Processed orders",
        PerformanceCounterCategoryType.MultiInstance,
        ccds);
Dim data1 As New CounterCreationData("Trucks", "Number of orders", PerformanceCounterType.NumberOfItems32)
Dim data2 As New CounterCreationData("Rate of sales", "Orders/second", PerformanceCounterType.RateOfCountsPerSecond32)
Dim ccds As New CounterCreationDataCollection()
ccds.Add(data1)
ccds.Add(data2)
Console.WriteLine("Creating Orders custom counter.")
If Not PerformanceCounterCategory.Exists("Orders") Then
    PerformanceCounterCategory.Create("Orders", "Processed orders", PerformanceCounterCategoryType.MultiInstance, ccds)
End If

注釈

categoryTypeパラメーターは、または複数インスタンスのパフォーマンス カウンター カテゴリの単一インスタンスがかどうかを指定します。The categoryType parameter specifies whether the performance counter category is single-instance or multi-instance. 作成され、別のインスタンスが追加されると複数インスタンスになりますが、既定では、カテゴリ、単一インスタンスです。By default, a category is single-instance when it is created and becomes multi-instance when another instance is added. カテゴリは、アプリケーションがセットアップされ、実行時にインスタンスが追加されるときに作成されます。Categories are created when an application is set up, and instances are added at run time. .NET Framework version 1.0 および 1.1 でないまたは単一インスタンスのマルチ インスタンス パフォーマンス カウンターのカテゴリを確認するために必要です。In the .NET Framework versions 1.0 and 1.1, it is not necessary to know if a performance counter category is multi-instance or single-instance. .NET Framework 2.0.NET Framework 2.0PerformanceCounterCategoryTypeパフォーマンス カウンターが複数のインスタンスを持つかどうかを示す列挙体を使用します。In the .NET Framework 2.0.NET Framework 2.0, the PerformanceCounterCategoryType enumeration is used to indicate whether a performance counter can have multiple instances.

パフォーマンス カウンターのカテゴリにインストールされている、.NET Framework 2.0.NET Framework 2.0独自のメモリを持っている各パフォーマンス カウンター カテゴリ別の共有メモリを使用します。Performance counter categories installed with the .NET Framework 2.0.NET Framework 2.0 use separate shared memory, with each performance counter category having its own memory. 別の共有メモリのサイズを指定するには、レジストリ キー hkey_local_machine \system\currentcontrolset\services FileMappingSize をという名前の DWORD を作成して\<カテゴリ名 > \パフォーマンス。You can specify the size of separate shared memory by creating a DWORD named FileMappingSize in the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<category name> \Performance. FileMappingSize 値は、カテゴリの共有メモリのサイズに設定されます。The FileMappingSize value is set to the shared memory size of the category. 既定のサイズは 131072 10 進数です。The default size is 131072 decimal. FileMappingSize 値が存在しない場合、fileMappingSize属性の値、 performanceCounters Machine.config ファイルで指定された要素を使用すると、構成ファイルの処理に追加のオーバーヘッドを発生させます。If the FileMappingSize value is not present, the fileMappingSize attribute value for the performanceCounters element specified in the Machine.config file is used, causing additional overhead for configuration file processing. レジストリでファイル マップのサイズを設定して、アプリケーションの起動時のパフォーマンスの向上を実現できます。You can realize a performance improvement for application startup by setting the file mapping size in the registry.

注意

アプリケーションのインストール中に、アプリケーションの実行中ではなく、新しいパフォーマンス カウンター カテゴリを作成することを強くお勧めします。It is strongly recommended that new performance counter categories be created during the installation of the application, not during the execution of the application. これにより、登録済みのパフォーマンス カウンター カテゴリの一覧を更新するオペレーティング システムまでの時間です。This allows time for the operating system to refresh its list of registered performance counter categories. 一覧が更新されていない場合、カテゴリを使用する試行は失敗します。If the list has not been refreshed, the attempt to use the category will fail.

注意

パフォーマンス カウンターを読み取る Windows Vista 以降では、Windows XP Professional x64 Edition、または Windows Server 2003 には、Performance Monitor Users グループのメンバーであるか、管理者特権を持つ必要があります。To read performance counters in Windows Vista and later, Windows XP Professional x64 Edition, or Windows Server 2003, you must either be a member of the Performance Monitor Users group or have administrative privileges.

Windows Vista 以降のパフォーマンス カウンターにアクセスする、特権を昇格することを避けるためには、Performance Monitor Users グループに追加します。To avoid having to elevate your privileges to access performance counters in Windows Vista and later, add yourself to the Performance Monitor Users group.

Windows Vista 以降では、ユーザー アカウント制御 (UAC: User Account Control) でユーザーの権限が決定されます。In Windows Vista and later, User Account Control (UAC) determines the privileges of a user. ユーザーが組み込みの Administrators グループのメンバーである場合、そのユーザーには標準ユーザー アクセス トークンおよび管理者アクセス トークンの 2 つのランタイム アクセス トークンが割り当てられています。If you are a member of the Built-in Administrators group, you are assigned two run-time access tokens: a standard user access token and an administrator access token. 既定では、ユーザーは標準ユーザー ロールに所属します。By default, you are in the standard user role. パフォーマンス カウンターにアクセスするコードを実行するには標準ユーザーから管理者に、特権を昇格する必要があります。To execute the code that accesses performance counters, you must first elevate your privileges from standard user to administrator. この操作は、アプリケーションの起動時にアプリケーション アイコンを右クリックし、管理者として実行することを指定して行うことができます。You can do this when you start an application by right-clicking the application icon and indicating that you want to run as an administrator.

セキュリティ

PerformanceCounterPermission
パフォーマンス カウンター カテゴリの管理タスクを実行します。for performing administrative tasks on performance counter categories. Administer (関連する列挙体)Associated enumeration: Administer.

こちらもご覧ください

適用対象