PERF_DATA_BLOCK 構造体 (winperf.h)
クエリを実行したパフォーマンス データ ブロックについて説明します。たとえば、プロバイダーによって返されるパフォーマンス オブジェクトの数や、パフォーマンス値の計算時に使用する時間ベースの値について説明します。
構文
typedef struct _PERF_DATA_BLOCK {
WCHAR Signature[4];
DWORD LittleEndian;
DWORD Version;
DWORD Revision;
DWORD TotalByteLength;
DWORD HeaderLength;
DWORD NumObjectTypes;
LONG DefaultObject;
SYSTEMTIME SystemTime;
LARGE_INTEGER PerfTime;
LARGE_INTEGER PerfFreq;
LARGE_INTEGER PerfTime100nSec;
DWORD SystemNameLength;
DWORD SystemNameOffset;
} PERF_DATA_BLOCK, *PPERF_DATA_BLOCK;
メンバー
Signature[4]
"PERF" を含む 4 つのワイド文字の配列。
LittleEndian
カウンター値がビッグ エンディアン形式かリトル エンディアン形式かを示します。 1 つの場合、カウンター値はリトル エンディアン形式です。 0 の場合、カウンター値はビッグ エンディアン形式になります。 UNIX コンピューターなどの外部コンピューターからパフォーマンス データを取得する場合、この値は 0 (ビッグ エンディアン形式) になることがあります。
Version
パフォーマンス構造のバージョン。
Revision
パフォーマンス構造のリビジョン。
TotalByteLength
パフォーマンス データ ブロックの合計サイズ (バイト単位)。
HeaderLength
この構造体のサイズ (バイト単位)。 ヘッダーの長さを使用して、パフォーマンス データ ブロック内の最初の PERF_OBJECT_TYPE 構造を見つけます。
NumObjectTypes
パフォーマンス データ ブロック内のパフォーマンス オブジェクトの数。
DefaultObject
予約済み。
SystemTime
システムが監視された時刻。 このメンバーは協定世界時 (UTC) 形式です。
PerfTime
監視対象のシステムのパフォーマンス カウンター値 (カウント単位)。 詳細については、「 QueryPerformanceCounter」を参照してください。
PerfFreq
監視対象のシステムのパフォーマンス カウンターの頻度 (1 秒あたりのカウント数)。 詳細については、「 QueryPerformanceFrequency」を参照してください。
PerfTime100nSec
監視対象のシステムのパフォーマンス カウンター値 (100 ナノ秒単位)。 詳細については、「 GetSystemTimeAsFileTime」を参照してください。
SystemNameLength
SystemNameOffset にあるコンピューター名のサイズ (バイト単位)。
SystemNameOffset
この構造体の先頭から、監視対象のコンピューターの Unicode 名へのオフセット。
注釈
コンシューマーが RegQueryValueEx を呼び出して 1 つ以上のパフォーマンス オブジェクトを取得すると、パフォーマンス データ ブロックが返されます。 この構造体は、返されるブロックの最初の構造体です。 ブロック内の次の構造体は、パフォーマンス オブジェクトを定義する PERF_OBJECT_TYPE 構造体です。 パフォーマンス データ ブロックのレイアウトの詳細については、「 パフォーマンス データ形式」を参照してください。
カウンターの種類に PERF_OBJECT_TIMER フラグが含まれている場合を除き、コンシューマーはカウンター値を計算するときに PerfTime、PerfFreq、PerfTime100nSec を使用します。この場合、コンシューマーは PERF_OBJECT_TYPE の PerfTime メンバーと PerfFreq メンバーを使用します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | winperf.h (Windows.h を含む) |