共用方式為


JetOSSnapshotPrepare 函式

適用於: Windows |Windows Server

JetOSSnapshotPrepare 函式

JetOSSnapshotPrepare 函式會開始準備快照集會話。 快照集會話是一個簡短的時間間隔,引擎不會發出任何寫入 IO 到磁碟,讓引擎可以參與磁碟區快照集會話(由快照集寫入器驅動時)。

Windows XP:JetOSSnapshotPrepare 是在 Windows XP 中引進的。

    JET_ERR JET_API JetOSSnapshotPrepare(
      __out         JET_OSSNAPID* psnapId,
      __in          const JET_GRBIT grbit
    );

參數

psnapId

要啟動之快照集會話的標識碼。

grbit

這個呼叫的選項。 此參數可以有下列值的組合。

意義

0

一般快照集。

JET_bitIncrementalSnapshot

只會擷取記錄檔。

JET_bitCopySnapshot

沒有記錄截斷的複製快照集(一般或累加式)。

JET_bitContinueAfterThaw

快照集會話會在 JetOSSnapshotThaw 之後發生,而且需要 JetOSSnapshotEnd 函式呼叫。

JET_bitExplicitPrepare

預設不會準備任何實例。

Windows 7: windows 7 中引進JET_bitExplicitPrepare。

傳回值

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

傳回碼

描述

JET_errSuccess

作業已成功完成。

JET_errInvalidParameter

快照標識碼指標為 NULL 或 grbit 參數無效。

JET_errOSSnapshotInvalidSequence

快照集會話已在進行中,且作業在任何指定時間都不允許有一個以上的快照集會話。

如果此函式成功,快照集會話就能夠隨時啟動 IO 凍結階段。 將會傳回會話的標識碼,而且必須在快照集會話的後續呼叫中使用。

引擎的執行中實例現在會被視為快照集會話的一部分。

Windows Vista: 若要指定不同的實例子集, 可以呼叫 JetOSSnapshotPrepareInstance

一般 API 序列呼叫為:JetOSSnapshotPrepare,選擇性地接著一或多個 JetOSSnapshotPrepareInstance 的呼叫,然後接著 JetOSSnapshotFreeze。 凍結啟動后,就可以使用 JetOSSnapshotThaw 終止凍結。 在準備之後,快照集會話隨時都可以突然終止 JetOSSnapshotAbort

如果在 JetOSSnapshotThaw 之後指定JET_bitContinueAfterThaw,快照集會話會維持(雖然 I/O 將會繼續)。 這會啟用快照集的驗證,如有需要,將會使用 JetOSSnapshotTruncateLog 啟用記錄截斷,而且需要呼叫 JetOSSnapshotEnd

如果此函式失敗,則引擎狀態不會發生任何變更。

備註

系統會針對快照集的不同步驟產生事件記錄檔專案。

需求

需求

用戶端

需要 Windows Vista 或 Windows XP。

Server

需要 Windows Server 2008 或 Windows Server 2003。

頁首

在 Esent.h 中宣告。

程式庫

使用 ESENT.lib。

Dll

需要 ESENT.dll。

另請參閱

JET_ERR
JET_OSSNAPID
JetOSSnapshotAbort
JetOSSnapshotEnd
JetOSSnapshotFreeze
JetOSSnapshotPrepareInstance
JetOSSnapshotThaw
JetOSSnapshotTruncateLog