IVssCreateWriterMetadata::SetRestoreMethod メソッド (vswriter.h)
SetRestoreMethod メソッドは、ライターのデータを復元する方法を示します。
構文
HRESULT SetRestoreMethod(
[in] VSS_RESTOREMETHOD_ENUM method,
[in] LPCWSTR wszService,
[in] LPCWSTR wszUserProcedure,
[in] VSS_WRITERRESTORE_ENUM writerRestore,
[in] bool bRebootRequired
);
パラメーター
[in] method
VSS_RESTOREMETHOD_ENUM 復元操作で使用されるメソッドを指定する値です。
[in] wszService
メソッドの値がVSS_RME_STOP_RESTORE_STARTまたはVSS_RME_RESTORE_STOP_STARTの場合、復元操作の前に停止してから復元操作が行われた後に開始する必要があるサービスの名前を含むワイド文字列へのポインター。
メソッドの値がVSS_RME_STOP_RESTORE_STARTまたはVSS_RME_RESTORE_STOP_STARTされていない場合、この引数は使用されず、NULL に設定する必要があります。
[in] wszUserProcedure
将来利用するために予約されています。 このパラメーターの値は常に NULL に設定する必要があります。
[in] writerRestore
ライターが データの復元に関与するかどうかを指定する値をVSS_WRITERRESTORE_ENUMします。
高速ライターでは、このパラメーターを VSS_WRE_NEVER に設定する必要があります。
[in] bRebootRequired
復元操作の完了後に再起動が必要かどうかを示すブール値。
戻り値
このメソッドの有効なリターン コードを次に示します。
値 | 説明 |
---|---|
|
操作に成功しました。 |
|
パラメーター値の 1 つが無効です。 |
|
呼び出し元がメモリやその他のシステム リソースを使い切れている。 |
|
XML ドキュメントが無効です。 詳細については、イベント ログを確認してください。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。 |
|
呼び出し元は、高速ライターでサポートされていない VSS_WRITERRESTORE_ENUM 値を指定しました。 |
|
予期しないエラー。 エラー コードは、エラー ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は、Windows Server 2008 R2 と Windows 7 まではサポートされません。 代わりに E_UNEXPECTED が使用されます。 |
解説
ライターには、1 つの復元方法が定義されています。 restore メソッドがオーバーライドされない場合、ライターのすべてのコンポーネントは同じメソッドを使用して復元されます。
ライターは、通常、 PreRestore イベント (CVssWriter::OnPreRestore) の処理中に復元ターゲットを設定することで、コンポーネントごとに復元方法をオーバーライドします。
復元メソッドはライター全体で適用されるという事実にもかかわらず、メソッドはコンポーネントごとに実装されることに注意することが重要です。 たとえば、 method パラメーターで指定されたメソッドがVSS_RME_RESTORE_IF_CAN_REPLACEされている場合、エラーが発生せずにすべて置換できる場合、コンポーネント内のすべてのファイルが元の場所に復元されます。 それ以外の場合は、別の場所 (指定されている場合) に復元されます。
次のいずれかが当てはまる場合は、常にファイルを別の場所マッピングに復元する必要があります。
- 復元方法 (バックアップ時に設定) がVSS_RME_RESTORE_TO_ALTERNATE_LOCATION。
- その復元ターゲットが (復元時に) VSS_RT_ALTERNATEに設定されました。
次のいずれかが当てはまる場合は、ファイルを別の場所マッピングに復元できます。
- 復元方法はVSS_RME_RESTORE_IF_NOT_THEREであり、ファイルのバージョンは既にディスク上に存在します。
- 復元方法がVSS_RME_RESTORE_IF_CAN_REPLACEされ、ファイルのバージョンがディスク上に存在し、置き換えることはできません。
代替の場所マッピングは復元操作中にのみ使用され、バックアップ操作中にのみ使用される代替パスと混同しないでください。
復元方法の詳細については、「 VSS 復元方法の設定」を参照してください。
restore メソッドがVSS_RME_STOP_RESTORE_STARTまたはVSS_RME_RESTORE_STOP_START場合は、 wszService 引数としてサービスの正しい名前を指定する必要があります。 復元操作中のサービスの停止と再起動にライターが参加する方法の詳細については、「 Requesters による復元のためのサービスの停止」を参照してください。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | vswriter.h (Vss.h、VsWriter.h を含む) |
Library | VssApi.lib |