JetGetThreadStats 関数
適用対象: Windows |Windows Server
JetGetThreadStats 関数
JetGetThreadStats 関数は、現在のスレッドのデータベース エンジンからパフォーマンス情報を取得します。 複数の呼び出しを使用して、これらの呼び出し間のこのスレッドでのデータベース エンジンのアクティビティを反映する統計を収集できます。
Windows Vista:JetGetThreadStats は Windows Vista で導入されています。
JET_ERR JET_API JetGetThreadStats(
__out void* pvResult,
__in unsigned long cbMax
);
パラメーター
pvResult
スレッド統計データを受け取る出力バッファー。 バッファーには、呼び出しが成功 した後にJET_THREADSTATS 構造体が含まれています。
cbMax
出力バッファーの最大サイズ (バイト単位)。
戻り値
この関数は、次のいずれかの戻りコードを 使用して、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張ストレージ エンジン エラー と エラー処理パラメーター」を参照してください。
リターン コード |
説明 |
---|---|
JET_errSuccess |
操作は正常に完了しました。 |
JET_errBufferTooSmall |
指定された出力バッファーが小さすぎて要求されたデータを格納できなかったため、操作が失敗しました。 JetGetThreadStats 関数は、出力バッファーが小さすぎてデータベース エンジンでサポートされているJET_THREADSTATS構造の最小バージョンを含めすぎると、このエラーを返します。 |
成功すると、出力バッファーには、現在のスレッドのデータベース エンジン統計を含む JET_THREADSTATS 構造体が含まれます。
失敗した場合、出力バッファーの状態は未定義です。
解説
この API の 2 つの連続する呼び出しによって提供される情報は、現在のスレッドに対する他のデータベース エンジン操作の費用を計算するために使用することを目的としています。 一般に、統計の読み取り前と読み取り後に を取得し、before カウントから after カウントを減算して、実行された操作の純数を取得します。
たとえば、アプリケーションは JetGetThreadStats を 1 回呼び出して、現在のスレッドの統計の最初の読み取りを取得できます。 その後、cRow パラメーターを JET_MoveNext に設定して JetMove 関数を呼び出して、インデックスの次のインデックス エントリに移動できます。 その後、 JetGetThreadStats をもう一度呼び出して、スレッドの統計の別の読み取りを取得できます。 その後、1 つ目の読み取りから cPageReferenced カウンターを減算できます。 結果は、 JetMove 操作を実行するためにデータベース エンジンによって参照されるデータベース ページの数になります。
各スレッドの統計は、そのスレッドの有効期間にわたって累積されます。 データベース エンジンの DLL がホスト プロセスからアンロードされた場合、統計はリセットされます。
今後、JET_THREADSTATS構造が拡張され、より多くの統計が含まれる予定です。 構造体の末尾に新しい統計が追加され、出力バッファー サイズを増やして取得できます。 追加の統計の存在は、より大きな cbStruct 値によって推論できます。
必要条件
要件 | 値 |
---|---|
Client |
Windows Vista が必要です。 |
[サーバー] |
Windows Server 2008 が必要です。 |
Header |
Esent.h で宣言されています。 |
Library |
ESENT.lib を使用します。 |
[DLL] |
ESENT.dllが必要です。 |