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