共用方式為


JetGetRecordSize 函式

適用于: Windows |Windows Server

JetGetRecordSize 函式

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

Windows Vista:JetGetRecordSize 是在 Windows Vista 中引進。

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

參數

sesid

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

tableid

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

precsize

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

grbit

這是下列一或多個值。

意義

JET_bitRecordSizeInCopyBuffer

這會擷取準備要更新之複製緩衝區中的記錄大小。 否則, tableid 或 cursor 必須位於記錄上,而且將會使用該記錄。

JET_bitRecordSizeRunningTotal

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

JET_bitRecordSizeLocal

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

傳回值

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

傳回碼

Description

JET_errSuccess

作業已成功完成。

JET_errInvalidGrbit

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

JET_errNotInitialized

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

JET_errClientRequestToStopJetService

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

JET_errInstanceUnavailable

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

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

JET_errTermInProgress

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

JET_errRestoreInProgress

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

JET_errSessionSharingViolation

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

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

JET_errNoCurrentRecord

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

JET_errRecordDeleted

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

JET_errInvalidParameter

如果傳遞 Null述詞 ,則可以傳回這個值。

備註

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

規格需求

需求

用戶端

需要 Windows Vista。

Server

需要 Windows Server 2008。

標頭

在 Esent.h 中宣告。

程式庫

使用 ESENT.lib。

Dll

需要ESENT.dll。

另請參閱

JET_ERR
JET_GRBIT
JET_SESID
JET_RECSIZE
JET_TABLEID