IVssCreateWriterMetadata::AddAlternateLocationMapping メソッド (vswriter.h)

AddAlternateLocationMapping メソッドは、ファイル セットの代替の場所マッピングを作成します。

構文

HRESULT AddAlternateLocationMapping(
  [in] LPCWSTR wszSourcePath,
  [in] LPCWSTR wszSourceFilespec,
  [in] bool    bRecursive,
  [in] LPCWSTR wszDestination
);

パラメーター

[in] wszSourcePath

マップされるファイルを含むディレクトリ階層またはディレクトリ階層の名前を含む Null で終わるワイド文字列。

ディレクトリは VSS マシン上のローカル ディレクトリにすることも、リモート ファイル サーバー上のファイル共有ディレクトリにすることもできます。

パスには環境変数 (%SystemRoot%) を含めることができますが、ワイルドカード文字を含めることはできません。

パスが円記号 ("") で終わるという要件はありません。 この情報をチェックに取得するのはアプリケーションです。

[in] wszSourceFilespec

マップするファイルのファイル指定を含む Null で終わるワイド文字列。

ファイル指定にディレクトリ指定を含めることはできません (たとえば、円記号は含めません)。ただし、 を含めることができます。 および * ワイルドカード文字。

[in] bRecursive

wszPath パラメーターで指定されたパスが 1 つのディレクトリのみを識別するか、再帰的に走査するディレクトリの階層を示すかどうかを指定するブール値。 パスが再帰的に走査されるディレクトリの階層として扱われる場合は true 、そうでない場合は false に設定する必要があります。

マウントされたフォルダーの走査の詳細については、「マウント されたフォルダーの操作」および「ポイントの再解析」を参照してください。

[in] wszDestination

ファイルが再配置されるディレクトリへの完全修飾パスを含む Null で終わるワイド文字列。

ディレクトリは VSS マシン上のローカル ディレクトリにすることも、リモート ファイル サーバー上のファイル共有ディレクトリにすることもできます。

UNC パスがサポートされています。

戻り値

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

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

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

注釈

Windows 7、Windows Server 2008 R2、Windows Vista、Windows Server 2008、Windows XP、Windows Server 2003: リモート ファイル共有は、Windows 8してWindows Server 2012するまでサポートされません。 ライターはローカル リソースのみをサポートします。絶対パスが有効なローカル ボリューム仕様で始まり、マップされたネットワーク ドライブにすることはできません。 したがって、AddAlternateLocationMapping (環境変数の解決後) へのパス入力 (wszPathwszDestination) は、この形式である必要があります。

このメソッドを複数回呼び出して、複数のファイルのマッピングを追加できます。

パス、ファイル指定、再帰フラグの組み合わせ (wszPath、 マップされる AddAlternateLocationMapping にそれぞれ提供される wszFileSpecおよび bRecursive) は、IVssCreateWriterMetadata::AddFilesToFileGroupIVssCreateWriterMetadata::AddDatabaseFiles、または IVssCreateWriterMetadata::AddDatabaseLogFiles を使用して、ライターのコンポーネントのいずれかに追加されたファイル セットの 1 つと一致する必要があります。

AddAlternateLocationMapping メソッドは、IVssCreateWriterMetadata::SetRestoreMethod が呼び出された後にのみ呼び出す必要があります。

次のいずれかに該当する場合、ファイルは常に代替の場所マッピングに復元する必要があります。

  • 復元方法 (バックアップ時に設定) がVSS_RME_RESTORE_TO_ALTERNATE_LOCATION。
  • その復元ターゲットが (復元時に) VSS_RT_ALTERNATEに設定されました。
どちらの場合も、有効な代替場所マッピングが定義されていない場合、これはライター エラーになります。

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

  • 復元方法はVSS_RME_RESTORE_IF_NOT_THEREされ、ファイルのバージョンは既にディスク上に存在します。
  • 復元方法はVSS_RME_RESTORE_IF_CAN_REPLACEされ、ファイルのバージョンはディスク上に存在し、置き換えることはできません。
ここでも、有効な代替場所マッピングが定義されていない場合、これはライター エラーになります。

代替の場所マッピングは復元操作中にのみ使用され、バックアップ操作中にのみ使用される代替パスと混同しないでください。

VSS でのバックアップと復元のファイルの場所の詳細については、「 既定以外のバックアップと復元の場所」を参照してください。

要件

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

こちらもご覧ください

IVssCreateWriterMetadata