IVssProviderCreateSnapshotSet::CommitSnapshots メソッド (vsprov.h)
CommitSnapshots メソッドは、このプロバイダー内のすべての LUN をすばやくコミットします。
構文
HRESULT CommitSnapshots(
[in] VSS_ID SnapshotSetId
);
パラメーター
[in] SnapshotSetId
シャドウ コピー セットを識別する VSS_ID 。
戻り値
リターン コード/値 | Description |
---|---|
|
操作が正常に完了しました。 |
|
メモリ不足またはその他のシステム リソース。 |
|
パラメーター値の 1 つが無効です。 |
|
SnapshotSetId パラメーターは、見つからなかったオブジェクトを参照します。 |
|
予期しないプロバイダー エラーが発生しました。 プロバイダーは、このエラーの詳細をアプリケーション イベント ログに記録する必要があります。 |
他の値が返された場合、VSS はイベント ログにイベントを書き込み、エラーを VSS_E_UNEXPECTED_PROVIDER_ERRORに変換します。
注釈
このメソッドは、シャドウ コピーを取得する必要がある定義された時刻に呼び出されます。 このシャドウ コピー セット内の準備された LUN ごとに、プロバイダーは、ポイントインタイム LUN の内容を保持するために必要な作業を実行します。 このメソッドの実行中は、アプリケーションと I/O サブシステムの両方が主に静止しています。 プロバイダーは、このメソッドに費やされる時間を最小限に抑える必要があります。 一般的なルールとして、このメソッドは完了するまでに 1 秒未満かかる必要があります。 このメソッドは [フラッシュと保留] ウィンドウの間に呼び出され、リリースが 10 秒以内に受信されなかった場合、VSS カーネル サポートは Flush と Hold を取り消します。これにより、VSS はシャドウ コピーの作成プロセスに失敗します。 各プロバイダーがこの呼び出しを完了するのに 1 秒または 2 秒以上かかる場合、シャドウ コピーの作成全体が失敗する可能性が高くなります。
I/O システムは静止しているため、このメソッドによる I/O のデバッグやトレース、このメソッドからの呼び出しなど、システムのデッドロックが発生する可能性があるため、プロバイダーは I/O を開始しないように注意する必要があります。 メモリ マップされたファイルとページング I/O は、現時点では固定されません。
I/O システムは、このメソッドの実行中にのみ静止することに注意してください。 最後のプロバイダーの CommitSnapshots メソッドが返された直後に、VSS サービスはソース LUN に対するすべての保留中の書き込みを解放します。 プロバイダーがソースとシャドウ コピー LUN の同期を実行する場合は、プロバイダーの CommitSnapshots メソッドが返される前に、この同期を完了する必要があります。非同期に実行することはできません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | vsprov.h |