IVssBackupComponents::D eleteSnapshots メソッド (vsbackup.h)
DeleteSnapshots メソッドは、1 つ以上のシャドウ コピーまたはシャドウ コピー セットを削除します。
構文
HRESULT DeleteSnapshots(
[in] VSS_ID SourceObjectId,
[in] VSS_OBJECT_TYPE eSourceObjectType,
[in] BOOL bForceDelete,
[out] LONG *plDeletedSnapshots,
[out] VSS_ID *pNondeletedSnapshotID
);
パラメーター
[in] SourceObjectId
削除するシャドウ コピーまたはシャドウ コピー セットの識別子。
[in] eSourceObjectType
すべてのシャドウ コピーが削除されるオブジェクトの型。 このパラメーターの値は 、VSS_OBJECT_SNAPSHOT または VSS_OBJECT_SNAPSHOT_SETです。
[in] bForceDelete
このパラメーターの値が TRUE の場合、プロバイダーはシャドウ コピー セット内のシャドウ コピーまたはシャドウ コピーを削除するために可能なすべての処理を行います。 FALSE の場合、追加の作業は行われません。
[out] plDeletedSnapshots
削除されたシャドウ コピーの数。
[out] pNondeletedSnapshotID
エラーが発生した場合、このパラメーターの値は、削除できなかった最初のシャドウ コピーの識別子です。 それ以外の場合は 、GUID_NULL。
戻り値
このメソッドの有効なリターン コードを次に示します。
値 | 意味 |
---|---|
|
シャドウ コピーが正常に削除されました。 |
|
呼び出し元が十分なバックアップ特権を持っていないか、管理者ではありません。 |
|
パラメーター値の 1 つが無効です。 |
|
呼び出し元がメモリやその他のシステム リソースを使い切れている。 |
|
予期しないエラー。 エラー コードは、エラー ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は、Windows Server 2008 R2 と Windows 7 まではサポートされません。 代わりに E_UNEXPECTED が使用されます。 |
|
指定されたシャドウ コピーが存在しません。 |
|
プロバイダー エラーが予想されます。 プロバイダーがイベント ログにエラーを記録しました。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。 |
|
予期しないプロバイダー エラー。 エラー コードはエラー ログに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。 |
注釈
シャドウ コピー セット内の複数のシャドウ コピーが順番に削除されます。 これらの個々の削除の間にエラーが発生した場合、 DeleteSnapshots はすぐに返されます。残りのシャドウ コピーは削除されません。 削除されていないシャドウ コピーの VSS_ID は、 pNondeletedSnapshotID で返されます。
リクエスターは、削除シャドウ コピー操作をシリアル化する役割を担います。
バックアップ中、シャドウ コピーは 、IVssBackupComponents インスタンスが解放されるとすぐに自動的に解放されます。 この場合、シャドウ コピーを明示的に削除する必要はありません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | vsbackup.h (VsBackup.h、Vss.h、VsWriter.h を含む) |
Library | VssApi.lib |