PdhEnumObjects パフォーマンスオブジェクトの列挙

Cの宣言:

PDH_STATUS PdhEnumObjects(
	IN LPCTSTR Reserved,
	IN LPCTSTR MachineName,
	IN LPTSTR Objects,
	IN LPDWORD ObjectSize,
	IN DWORD DetailLevel,
	IN BOOL NewObjects);

説明:

MachineNameで指定されたマシン上のパフォーマンスデータからパフォーマンスオブジェクトを列挙し、その結果をObjectsに返す。

引数の意味は以下の通り。
Reserved (IN) NULLでなければならない。
MachineName (IN) 列挙元のマシンの名前を表す文字列。NULLを指定可能。
Objects (OUT) 列挙されたパフォーマンスオブジェクトの名前を表すMULTI_SZ型の文字列。ObjectSizeが0ならばNULLを指定可。
ObjectSize (IN/OUT) Objectsのサイズ。関数の実行後に、Objectsに設定されたデータのサイズまたは必要なサイズが返される。
DetailLaevel (IN) 返される情報の詳細度。
NewObjects (IN) 以前に取得した情報を再利用するか、新規に最新の情報を取得するかを指定知る真偽値。

Cのサンプル:

ローカルマシンのパフォーマンスオブジェクトを列挙し、結果を表示する。
/* パフォーマンスオブジェクトの列挙 */
void DispPerfObjs()
{
	char ObjNames[1000];
	DWORD ObjSize = 1000;
	char *cp;

	/* パフォーマンスオブジェクトの一覧を取得 */
	PdhEnumObjects(NULL, NULL, ObjNames, &ObjSize, PERF_DETAIL_WIZARD, TRUE);

	/* パフォーマンスオブジェクトの一覧を表示 */
	cp = ObjNames;
	while(*cp != '\0') {
		printf("%s\n", cp);
		cp += lstrlen(cp)+1;
	}
}

(original text:1999/01/05 更新)

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