次の方法で共有


IVssCreateExpressWriterMetadata::SetRestoreMethod メソッド (vswriter.h)

高速ライターのデータを復元する方法を指定します。

構文

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 列挙値。 このパラメーターは必須であり、 VSS_RME_UNDEFINEDVSS_RME_RESTORE_TO_ALTERNATE_LOCATIONまたはVSS_RME_CUSTOMすることはできません。

[in] wszService

メソッドの値がVSS_RME_STOP_RESTORE_STARTまたはVSS_RME_RESTORE_STOP_STARTの場合、復元操作の前に停止してから復元操作が行われた後に開始する必要があるサービスの名前を含むワイド文字列へのポインター。

method の値がVSS_RME_STOP_RESTORE_STARTまたはVSS_RME_RESTORE_STOP_STARTされていない場合、このパラメーターは使用されず、NULL に設定する必要があります。

[in] wszUserProcedure

将来利用するために予約されています。 このパラメーターの値は常に NULL に設定する必要があります。

[in] writerRestore

ライター データの復元に関与するかどうかを指定するVSS_WRITERRESTORE_ENUM列挙値。 このパラメーターは 、VSS_WRE_NEVERに設定する必要があります。

[in] bRebootRequired

復元操作の完了後に再起動が必要かどうかを示すブール値。

戻り値

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

意味
S_OK
操作に成功しました。
E_INVALIDARG
パラメーター値の 1 つが無効です。
E_OUTOFMEMORY
呼び出し元がメモリ不足またはその他のシステム リソースです。
VSS_E_INVALID_XML_DOCUMENT
XML ドキュメントが無効です。 詳細については、イベント ログを確認してください。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。
VSS_E_UNEXPECTED
予期しないエラー。 エラー コードはエラー ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。

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

注釈

高速ライターでは、1 つの復元方法のみを定義できます。 復元メソッドがオーバーライドされない場合、高速ライターのすべてのコンポーネントは、同じメソッドを使用して復元されます。

Express ライターは、復元ターゲットを設定することによって、コンポーネントごとに復元メソッドをオーバーライドします。通常は PreRestore イベント (CSVsWriter::OnPreRestore) の処理中です。

復元メソッドはライターごとに適用されるという事実にもかかわらず、メソッドはコンポーネントごとに実装されることに注意してください。 たとえば、 メソッド パラメーターで指定されたメソッドが VSS_RME_RESTORE_IF_CAN_REPLACEされている場合、コンポーネント内のすべてのファイルが元の場所に復元されます(エラーが発生せずにすべて置き換えられる場合)。 それ以外の場合は、別の場所 (指定されている場合) に復元されます。

次のいずれかに該当する場合は、ファイルを別の場所マッピングに復元できます。

  • 復元方法は 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 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー vswriter.h (Vss.h、VsWriter.h を含む)
Library VssApi.lib

こちらもご覧ください

IVssCreateExpressWriterMetadata