次の方法で共有


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: JET_bitExplicitPrepare は Windows 7 で導入されました。

戻り値

この関数を使用すると、次のいずれかのリターン コードと共に JET_ERR データ型が返されます。 考えられる ESE エラーの詳細については、「記憶域エンジンの拡張可能なエラー」と「エラー処理パラメーター」を参照してください。

リターン コード

説明

JET_errSuccess

操作は正常に完了しました。

JET_errInvalidParameter

スナップショット ID ポインターが NULL であるか、grbit パラメーターが無効です。

JET_errOSSnapshotInvalidSequence

スナップショット セッションが既に進行中であり、操作は特定の時点で複数のスナップショット セッションを持つことを許可されていません。

この関数が成功した場合、スナップショット セッションは IO フリーズ フェーズでいつでも開始できます。 セッションの識別子が返され、スナップショット セッションの後続の呼び出しで使用する必要があります。

エンジンの実行中のインスタンスは、スナップショット セッションの一部と見なされるようになります。

Windows Vista: インスタンスの別のサブセットを指定するために、JetOSSnapshotPrepareInstance を呼び出すことができます。

通常の API シーケンス呼び出しは、JetOSSnapshotPrepare であり、必要に応じて JetOSSnapshotPrepareInstance への 1 つ以上の呼び出しが続き、その後に JetOSSnapshotFreeze が続きます。 フリーズが開始すると、JetOSSnapshotThaw を使用して終了できます。 準備後はいつでも、JetOSSnapshotAbort でスナップショット セッションを突然終了できます。

JetOSSnapshotThaw の後にJET_bitContinueAfterThaw を指定すると、スナップショット セッションは存続します (ただし、I/O は再開します)。 これにより、スナップショットの検証が可能になり、必要に応じて JetOSSnapshotTruncateLog を使用してログの切り捨てが有効になり、JetOSSnapshotEnd の呼び出しが必要になります。

この関数が失敗した場合、エンジンの状態は変わりません。

解説

スナップショットのさまざまな手順でイベント ログ エントリが生成されます。

要件

要件 Value

クライアント

Windows Vista または Windows XP が必要です。

[サーバー]

Windows Server 2008 または Windows Server 2003 が必要です。

ヘッダー

Esent.h で宣言されています。

Library

ESENT.lib を使用します。

[DLL]

ESENT.dll が必要です。

参照

JET_ERR
JET_OSSNAPID
JetOSSnapshotAbort
JetOSSnapshotEnd
JetOSSnapshotFreeze
JetOSSnapshotPrepareInstance
JetOSSnapshotThaw
JetOSSnapshotTruncateLog