次の方法で共有


IVssBackupComponents::SaveAsXML メソッド (vsbackup.h)

SaveAsXML メソッドは、要求者の状態情報を含むバックアップ コンポーネント ドキュメントを指定された文字列に保存します。 バックアップ コンポーネント ドキュメントを含むこの XML ドキュメントは、常にバックアップ操作の一部として安全に保存する必要があります。

構文

HRESULT SaveAsXML(
  [in] BSTR *pbstrXML
);

パラメーター

[in] pbstrXML

要求者の状態情報を含むバックアップ コンポーネント ドキュメントの格納に使用される文字列へのポインター。

戻り値

このメソッドの有効なリターン コードを次に示します。

説明
S_OK
XML ドキュメントを pbstrXML パラメーター値として正常に保存しました。
E_INVALIDARG
パラメーター値の 1 つが無効です。
E_OUTOFMEMORY
呼び出し元がメモリ不足またはその他のシステム リソースです。
VSS_E_BAD_STATE
バックアップ コンポーネント オブジェクトが初期化されていないか、復元操作中にこのメソッドが呼び出されたか、このメソッドが正しいシーケンス内で呼び出されていません。
VSS_E_UNEXPECTED
予期しないエラー。 エラー コードはエラー ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は、Windows Server 2008 R2 および Windows 7 まではサポートされません。 代わりに、E_UNEXPECTEDが使用されます。

解説

一般的なバックアップ操作では、ライターとリクエスターの両方がバックアップ コンポーネント ドキュメントの変更を完了するまで、 SaveAsXML を呼び出さないでください。

ライターは、PostSnapshot イベント (CVssWriter::OnPostSnapshot) の処理から正常に戻るまで、または IVssBackupComponents::D oSnapshotSet が完了するまで、バックアップ コンポーネント ドキュメントを変更し続けることができます。

バックアップの進行状況に応じて、要求者は引き続きバックアップ コンポーネント ドキュメントを変更する必要があります。 特に、リクエスターは、 IVssBackupComponents::SetBackupSucceeded メソッドの呼び出しを通じて、バックアップの成功または失敗のコンポーネントごとのレコードを格納します。

リクエスターがバックアップ コンポーネント ドキュメントの変更を完了したら、リクエスターは SaveAsXML を 使用してドキュメントのコピーをバックアップ メディアに保存する必要があります。

バックアップ コンポーネント ドキュメントは、たとえば、リモート マシンで処理される転送可能なシャドウ コピーの生成をサポートするために、バックアップ操作のライフ サイクルの以前の時点で保存できます。 (詳細については、「 トランスポート可能なシャドウ コピーボリュームのインポート 」を参照してください)。

ただし、バックアップ コンポーネント ドキュメントがリクエスターとライターによって入力されていないため、IVssBackupComponents::P repareForBackup より前に SaveAsXML を呼び出さないでください。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー vsbackup.h (VsBackup.h、Vss.h、VsWriter.h を含む)
Library VssApi.lib

関連項目

IVssBackupComponents

IVssBackupComponents::GatherWriterMetadata

IVssBackupComponents::InitializeForBackup

IVssBackupComponents::InitializeForRestore

IVssBackupComponents::P repareForBackup