PdhGetDefaultPerfCounter パフォーマンスオブジェクトのデフォルトのカウンタを取得

Cの宣言:

PDH_STATUS PdhGetDefaultPerfCounter(
	IN LPCTSTR Reserved,
	IN LPCTSTR MachineName,
	IN LPCTSTR ObjectName,
	IN LPTSTR CounterName,
	IN LPDWORD CounterNameSize);

説明:

MachineNameで指定したマシン上のObjectNameで指定したパフォーマンスオブジェクトのデフォルトのカウンタの名前を取得し、結果をCounterNameに返す。

引数の意味は以下の通り。
Reserved (IN) NULLでなければならない。
MachineName (IN) どのマシンから情報を取得するかを識別するためのマシンの名前。を表す文字列。
ObjectName (IN) 情報の取得元のパフォーマンスオブジェクトの名前をあらわす文字列。
CounterName (OUT) 取得結果のデフォルトのカウンタの名前を表す文字列。CounterNameSizeが0ならばNULLを指定可。
CounterNameSize (IN/OUT) CounterNameのサイズ。関数の実行後、CounterNameに設定されたデータのサイズまたは必要なサイズが設定される。

Cのサンプル:

ローカルマシン上のデフォルトのパフォーマンスオブジェクトの名前と、それに対するデフォルトのパフォーマンスカウンタの名前を表示する。
void DispDefaultPerf()
{
	char ObjName[1000];
	char CounterName[1000];
	DWORD ObjNameSize = 1000;
	DWORD CounterNameSize = 1000;

	/* ローカルマシン上のデフォルトのパフォーマンスオブジェクトと、そのデフォルトカウンタを取得 */
	PdhGetDefaultPerfObject(NULL, NULL, ObjName, &ObjNameSize);
	PdhGetDefaultPerfCounter(NULL, NULL, ObjName, CounterName, &CounterNameSize);

	printf("デフォルトのパフォーマンスオブジェクト: %s\n", ObjName);
	printf("%sのデフォルトカウンタ: %s\n", ObjName, CounterName);
}
(original text:1999/01/12 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。