PdhParseCounterPath カウンタパスを構成要素に分解

Cの宣言:

PDH_STATUS PdhParseCounterPath(
	IN LPCTSTR CounterPath,
	IN PDH_COUNTER_PATH_ELEMENTS Elements,
	IN LPDWORD ElementSize;
	IN DWORD Flags);

説明:

CounterPathで与えられたカウンタパスを分解し、得られた構成要素の一覧をElementsに返却する。

引数の意味は以下の通り。
CounterPath (IN) 分解するカウンタパスを表す文字列。
Elements (OUT) 分解結果の構成要素の一覧。
ElementSize (IN/OUT) Elementsのサイズ。関数の実行後、Elementsに設定されたデータのサイズまたは必要なサイズが返される。
Flags (IN) 0でなければならない。

Cのサンプル:

メモ帳のCPU使用率を表すカウンタのパスを元に、パスを分解し、その構成要素を表示する。
void DispCounterElements()
{
	PPDH_COUNTER_PATH_ELEMENTS pInfo;
	DWORD Size = 10000;

	pInfo = GlobalAlloc(GMEM_FIXED, 10000);
	PdhParseCounterPath("\\Process(notepad#0)\\% Processor Time", pInfo, &Size, 0);

	printf("'\\Process(notepad#0)\\% Processor Time'のパスの構成要素:\n");
	printf("\tマシン名: %s\n", pInfo->szMachineName);
	printf("\tオブジェクト名: %s\n", pInfo->szObjectName);
	printf("\tインスタンス名: %s\n", pInfo->szInstanceName);
	printf("\t親インスタンス名: %s\n", pInfo->szParentInstance);
	printf("\tインデックス: %d\n", pInfo->dwInstanceIndex);
	printf("\tカウンタ名: %s\n", pInfo->szCounterName);

	GlobalFree(pInfo);
}


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

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