カウンター データ状態コードの確認

PDH 関数の戻り値は、カウンター データの状態とは異なる関数呼び出しの成功または失敗を示します。 PDH 構造体で返されるカウンター値の CStatus メンバーを常にチェックして、使用する前に返されるデータが有効であることを確認します。 CStatus メンバーの値が成功を示していない場合は、データを使用しないでください。 カウンターに使用できる状態の値を次に示します。

説明
PDH_CSTATUS_NO_MACHINE PDH は、カウンター パスで指定されたコンピューターに接続できませんでした。 カウンターの追加時にこの状態が返された場合、カウンターは完全には初期化されません。 クエリが更新されるたびに、PDH は接続を再試行します。 接続が確立されると、通常のデータ収集が再開されます。
PDH_CSTATUS_NO_OBJECT 指定したコンピューターが見つかりましたが、指定したパフォーマンス オブジェクトがコンピューターで見つかりました。 カウンターの追加時にこの状態が返された場合、指定されたカウンターはクエリに含まれません。 この状態がアクティブなカウンターによって返された場合、そのカウンターのデータは無効です。 データが要求されるたびに、PDH はこのカウンター データの取得を試みます。
PDH_CSTATUS_NO_INSTANCE 指定されたインスタンスが オブジェクトに見つかりませんでした。 カウンターがクエリに追加されている間にこの状態が返された場合、カウンターはクエリに正常に追加されますが、特定のインスタンスが表示され、正常な状態が返されるまでデータは使用できません。
PDH_CSTATUS_NO_COUNTER 指定されたオブジェクトに指定されたカウンターが見つかりませんでした。 カウンターの追加時にこの状態が返された場合、カウンターはクエリに追加されません。 データ収集後にこの状態が返された場合、そのカウンターのデータは無効です。 データが要求されるたびに、PDH はこのカウンター データの取得を試みます。
PDH_CSTATUS_INVALID_DATA カウンターが正常に見つかりましたが、返されたデータが無効です。 このエラーは、カウンター値が前の値より小さい場合に発生する可能性があります。 (カウンター値は常にインクリメントされるため、カウンター値は最大値に達すると 0 にロールオーバーされます)。もう 1 つの考えられる原因は、正しくないシステム タイマーです。
PDH_CSTATUS_VALID_DATA カウンターのデータは正常に返されましたが、カウンターが最後に読み取られた時点から変更されません。
PDH_CSTATUS_NEW_DATA カウンターのデータが正常に返され、カウンターが最後に読み取られた時刻とは異なります。 結果のレートが最後のサンプルと同じであっても、レート カウンターでPDH_CSTATUS_NEW_DATAを返すことができます。 これは、この状態値の決定で使用される生データ値が、計算されたレートではなく変更されたためです。
PDH_MORE_DATA 指定されたバッファーは、すべてのカウンター データを格納するのに十分な大きさではなかった。 より大きなバッファーを割り当てて、関数をもう一度実行します。
PDH_CSTATUS_ITEM_NOT_VALIDATED カウンターはクエリに追加されましたが、検証もアクセスもされていません。 このカウンターの追加の状態情報は使用できません。
PDH_CSTATUS_NO_COUNTERNAME クエリにカウンター名が指定されませんでした。
PDH_CSTATUS_NO_COUNTER 指定したカウンター名が見つかりませんでした。
PDH_CSTATUS_NO_OBJECT 指定されたパフォーマンス オブジェクトが見つかりませんでした。
PDH_CALC_NEGATIVE_DENOMINATOR カウンターには負の分母値があります。
PDH_CALC_NEGATIVE_TIMEBASE カウンターには負のタイムベース値があります。
PDH_CALC_NEGATIVE_VALUE カウンターには負の値があります。
PDH_CSTATUS_NO_COUNTERNAME カウンター パスが指定されませんでした。
PDH_CSTATUS_BAD_COUNTERNAME カウンター パスの形式が正しくありません。