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 錯誤的詳細資訊,請參閱 可延伸儲存引擎錯誤 和 錯誤處理參數。
傳回碼 |
Description |
---|---|
JET_errSuccess |
作業已成功完成。 |
JET_errBufferTooSmall |
作業失敗,因為提供的輸出緩衝區太小而無法包含要求的資料。 當輸出緩衝區太小而無法包含資料庫引擎所支援之最小版本的JET_THREADSTATS結構時,JetGetThreadStats函式會傳回此錯誤。 |
成功時,輸出緩衝區會包含 JET_THREADSTATS 結構,其中包含目前線程的資料庫引擎統計資料。
失敗時,輸出緩衝區的狀態為未定義。
備註
此 API 的兩個連續呼叫所提供的資訊是用來計算目前線程上任何其他資料庫引擎作業的費用。 一般而言,這是藉由在讀取統計資料之前和之後擷取 ,並從之前計數減去之後計數,以取得執行的作業淨計數來完成。
例如,應用程式可以呼叫 JetGetThreadStats 一次,以取得目前線程統計資料的初始讀取。 然後,它可以呼叫 JetMove 函式, 並將 cRow 參數設定為 JET_MoveNext 移至索引上的下一個索引項目目。 然後,它可以再次呼叫 JetGetThreadStats ,以取得執行緒統計資料的另一個讀取。 然後,它可以從第二個讀取減去 cPageReferenced 計數器。 結果是資料庫引擎所參考的資料庫頁面數目,以執行 JetMove 作業。
每個執行緒的統計資料都會累積到該執行緒的存留期。 如果資料庫引擎的 DLL 從主機進程卸載,則會重設統計資料。
未來可能會擴充 JET_THREADSTATS 結構,以包含更多統計資料。 新的統計資料將會新增至結構的結尾,而且可以使用增加的輸出緩衝區大小來擷取。 其他統計資料的存在可以透過較大的 cbStruct 值來推斷。
規格需求
需求 | 值 |
---|---|
用戶端 |
需要 Windows Vista。 |
Server |
需要 Windows Server 2008。 |
標頭 |
在 Esent.h 中宣告。 |
程式庫 |
使用 ESENT.lib。 |
Dll |
需要ESENT.dll。 |