PdhExpandCounterPath ワイルドカードを含むカウンタパス名を展開する

Cの宣言:

PdhExpandCounterPath(
	IN LPCTSTR SrcPath,
	IN LPTSTR DestPaths,
	IN LPDWROD DestPathSize);

説明:

SrcPathで指定された、ワイルドカードを含んでいるカウンタパス名を展開し、得られたカウンタパス名の一覧をDestPathに返す。

引数の意味は以下の通り。
SrcPath (IN) 展開するカウンタパス名。
DestPaths (OUT) 展開結果のカウンタパス名の一覧を表すMULTI_SZ型の文字列。
DestPathSize (IN/OUT) DestPathsのサイズ。冠すの実行後は、DestPathsに設定されたデータのサイズが返される。

Cのサンプル:

PdhExpandCounterPathを利用して、現在起動しているメモ帳の数を取得する。
void DispNotepadCount()
{
	char CounterNames[1000];
	DWORD Size = 1000;
	char *cp;
	int NotepadCount = 0;

	 PdhExpandCounterPath(
		"\\Process(notepad#*)\\% Processor Time",
		CounterNames,
		&Size);

	cp = CounterNames;
	while(*cp != '\0') {
		NotepadCount++;
		cp += lstrlen(cp)+1;
	}

	printf("起動しているメモ帳の数: %d\n", NotepadCount);
}
(original text:1999/01/12 更新)

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