次の方法で共有


Win32_PerfFormattedData クラスのサポート

Win32_PerfFormattedData からクラスを派生させる高パフォーマンス プロバイダーを作成する場合は、WMI でプロパティ値を計算できるように、特定の規則に従う必要があります。

注意

パフォーマンス カウンターを作成するために WMI の高パフォーマンス プロバイダーを作成することは、どのバージョンの Windows オペレーティング システムでも推奨されません。 詳細については、「インスタンス プロバイダーを High-Performance プロバイダーに変換する」と「パフォーマンス ライブラリと WMI」を参照してください。

 

Win32_PerfFormattedData クラスをサポートする方法について、次の手順で説明します。

Win32_PerfFormattedData クラスをサポートするには

  1. 対応する生クラスと同じ名前空間にクラスを作成します。 クラスは Win32_PerfFormattedData から派生し、Hiperf 修飾子を TRUE に設定する必要があります。 WMI の独自クラスを作成する方法の詳細については、「マネージド オブジェクト フォーマット (MOF) クラスの設計」を参照してください。

  2. Provider 修飾子に "HiPerfCooker_v1" を指定します。

  3. 生クラスに使用される修飾子に加えて、次のクラスレベルの修飾子を指定します。

    Note

    GenericPerfCtrPerfIndexHelpIndex の値は ADAP プロセスで設定されるため、設定しないでください。 詳細については、「パフォーマンス カウンター クラスのクラス修飾子」を参照してください。

     

  4. クラスに Name というキー プロパティを含めます (シングルトン クラスではこのプロパティは必要ありません)。

    Name プロパティの値は、対応する生クラスと同じである必要があります。 クラスで Name 以外のキー プロパティを使用することはできません。

  5. データ型が DWORD (uint32) または QWORD (uint64) のプロパティを作成します。

    プロパティは、生クラスのプロパティまたは作成しているクラスのプロパティに対応している必要があります。

  6. 生クラスのプロパティに使用される PerfIndexPerfDetail 修飾子に加えて、クラス内のすべてのプロパティに対して次のプロパティ レベルの修飾子を指定します。

    詳細については、「パフォーマンス カウンター クラスのプロパティ修飾子」を参照してください。 さらに、Winperf.h ヘッダー ファイルには、PerfDetailCounterType に指定できる値が含まれています。

  7. プロバイダーがパフォーマンス要件を満たしていることを確認します。

パフォーマンス要件

高パフォーマンス プロバイダーを作成する場合、そのパフォーマンスは次の要件を満たしている必要があります。

  • 高パフォーマンス DLL ファイルを開くのにかかる時間は、100 ミリ秒未満です。 全体として、高パフォーマンス プロバイダーとパフォーマンス ライブラリーをそれぞれ開くのに 5 秒を超えることはありません。
  • データの更新にかかる時間は、収集あたり 10 ミリ秒以下です。 更新と収集の操作全体では、すべての高パフォーマンス プロバイダーを合わせても 800 ミリ秒を超えることはありません。
  • すべての高パフォーマンス プロバイダーの全体的な CPU 負荷は、対話形式で 6 から 7%、ログ記録では 5% の CPU オーバーヘッドを超えることはありません。

インスタンス プロバイダーを High-Performance プロバイダーに変換する