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