PerfDecrementULongLongCounterValue 関数 (perflib.h)

値が 8 バイト符号なし整数であるカウンターの値をデクリメントします。 プロバイダーはこの関数を使用します。

構文

ULONG PerfDecrementULongLongCounterValue(
  [in] HANDLE                    Provider,
  [in] PPERF_COUNTERSET_INSTANCE Instance,
  [in] ULONG                     CounterId,
  [in] ULONGLONG                 Value
);

パラメーター

[in] Provider

プロバイダーのハンドル。 CTRPP ツールによって生成されたハンドル変数を使用します。 変数の名前については、プロバイダー要素の symbol 属性を参照してください。

Windows Vista: PerfStartProvider 関数はハンドルを返します。

[in] Instance

カウンター セット インスタンスを含む PERF_COUNTERSET_INSTANCE 構造体。 PerfCreateInstance 関数は、このポインターを返します。

[in] CounterId

インスタンス ブロックで更新するカウンターを一意に識別する識別子。 識別子は counter 要素の id 属性で定義され、インスタンス ブロック内のPERF_COUNTER_INFO構造体の 1 つの CounterId メンバーと一致する必要があります。 CTRPP ツールによって生成されたカウンター ID 定数を使用します。 定数の名前については、counter 要素の symbol 属性を参照してください。

Windows Vista: カウンター ID 定数は使用できません。

[in] Value

カウンターをデクリメントする値。

戻り値

関数が成功すると、ERROR_SUCCESSが返されます。

関数が失敗した場合、戻り値は システム エラー コードです。

注釈

これは、生カウンター データをデクリメントするための便利な関数です。 生カウンター データを自分でデクリメントするには、PERF_COUNTER_INFO構造体の Offset メンバーを使用して、特定のカウンターの生カウンター データにアクセスします。 PERF_COUNTERSET_INSTANCE構造体ブロックには、1 つ以上のカウンター情報構造体が含まれています。

最初にカウンター値を設定するには、 PerfSetULongLongCounterValue 関数を使用します。

カウンター値が 0 より後にデクリメントされると、カウンター値がアンダーフローされることに注意してください。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー perflib.h
Library Advapi32.lib
[DLL] Advapi32.dll

こちらもご覧ください

PerfDecrementULongCounterValue

PerfIncrementULongLongCounterValue

PerfSetULongLongCounterValue