共用方式為


JetGetRecordSize2 函式

適用于: Windows |Windows Server

JetGetRecordSize2 函式

JetGetRecordSize2函式會從所需的位置擷取記錄大小資訊。

Windows 7:JetGetRecordSize2 是在 Windows 7 作業系統中引進。

    JET_ERR JET_API JetGetRecordSize2(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         JET_RECSIZE2* precsize,
      __in          const JET_GRBIT grbit
    );

參數

sesid

識別將用於 API 呼叫的資料庫會話內容。

tableid

識別將用於 API 呼叫的資料表或資料指標。 資料指標必須放在記錄上,或已備妥更新。

precsize

JET_RECSIZE2結構的輸出緩衝區指標。

grbit

這是下列一或多個值。

意義

JET_bitRecordSizeInCopyBuffer

這會擷取準備更新之複製緩衝區中的記錄大小。 否則, tableid 或資料指標必須放在記錄上,且將使用該記錄。

JET_bitRecordSizeRunningTotal

指定此位時,JET_RECSIZE2不會在填滿內容之前零,有效地作為已流覽或更新之多個記錄的統計資料累積。

JET_bitRecordSizeLocal

這會導致 API 忽略非內建 Long 值。 例如,只會使用頁面上的本機記錄。

傳回值

此函式會傳回具有下列其中一個傳回碼 的JET_ERR 資料類型。 如需可能 ESE 錯誤的詳細資訊,請參閱 可延伸的儲存引擎錯誤錯誤處理參數

傳回碼

描述

JET_errSuccess

作業已成功完成。

JET_errInvalidGrbit

其中一個要求的選項無效或未實作。 指定不合法的grbit時,JetGetRecordSize2函式會傳回此錯誤。

JET_errNotInitialized

無法完成作業,因為與會話相關聯的實例尚未初始化。

JET_errClientRequestToStopJetService

因為與會話相關聯的實例上的所有活動因為對 JetStopService的呼叫而停止,所以無法完成作業。

JET_errInstanceUnavailable

無法完成作業,因為與會話相關聯的實例發生嚴重錯誤,要求撤銷所有資料的存取權以保護該資料的完整性。

Windowsxp: JET_errInstanceUnavailable只會由 Windows XP 作業系統和更新版本的 Windows 傳回。

JET_errTermInProgress

因為與會話相關聯的實例正在關閉,所以無法完成作業。

JET_errRestoreInProgress

因為與會話相關聯的實例上正在進行還原作業,所以無法完成作業。

JET_errSessionSharingViolation

同時對多個執行緒使用相同的會話不合法。

Windowsxp: JET_errInstanceUnavailable只會由 Windows XP 和更新版本的 Windows 傳回。

JET_errNoCurrentRecord

如果游標定位不正確,就會發生這種情況。

JET_errRecordDeleted

如果資料指標未置於交易中,則如果另一個執行緒從此會話下刪除記錄,就會發生這種情況。

JET_errInvalidParameter

如果傳遞 Nullprecsize ,則可以傳回這個值。

備註

JET_RECSIZE2cbOverhead欄位中累積的金鑰大小會受到JET_bitRecordSizeInCopyBuffer影響。 如果指定這個位, 則 cbOverhead 欄位中累積的金鑰大小是完整的金鑰大小。 如果未使用此位,累積的金鑰大小將不會包含因為索引鍵前置詞壓縮而儲存的任何大小。

規格需求

需求

用戶端

需要 Windows Vista。

Server

需要 Windows Server 2008。

標頭

在 Esent.h 中宣告。

程式庫

使用 ESENT.lib。

Dll

需要ESENT.dll。

另請參閱

JET_ERR
JET_GRBIT
JET_RECSIZE
JET_SESID
JET_TABLEID