IVssComponent::GetAlternateLocationMapping メソッド (vswriter.h)

GetAlternateLocationMapping は、ファイルの復元のためにファイル セットの別の場所を返すために使用されます。 このメソッドは、ライターまたはリクエスターによって呼び出すことができます。

構文

HRESULT GetAlternateLocationMapping(
  [in]  UINT           iMapping,
  [out] IVssWMFiledesc **ppFiledesc
);

パラメーター

[in] iMapping

特定のマッピングのインデックス。 このパラメーターの値は、0 から n から 1 までの整数です。 n は、現在のコンポーネントに関連付けられている代替位置マッピングの合計数です。 n の値は、IVssComponent::GetAlternateLocationMappingCount によって返されます。

[out] ppFiledesc

マッピング情報を含む IVssWMFiledesc オブジェクトへの二重間接ポインター。

戻り値

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

意味
S_OK
属性値が正常に返されました。
E_INVALIDARG
パラメーター値の 1 つが無効です。
E_OUTOFMEMORY
呼び出し元がメモリやその他のシステム リソースを使い切れている。
VSS_E_INVALID_XML_DOCUMENT
XML ドキュメントが無効です。 詳細については、イベント ログを確認してください。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。
VSS_E_OBJECT_NOT_FOUND
指定された項目が見つかりませんでした。

注釈

GetAlternateLocationMapping によって返される別の場所マッピングは、現在のコンポーネント内のファイルだけでなく、選択できないサブコンポーネント内のファイルからも取得できます。

IVssComponent::GetAlternateLocationMapping によって返される値も、IVssExamineWriterMetadata::GetAlternateLocationMapping によって返される値と混同しないでください。

次のいずれかが当てはまる場合は、常にファイルを別の場所マッピングに復元する必要があります。
  • 復元方法 (バックアップ時に設定) がVSS_RME_RESTORE_TO_ALTERNATE_LOCATION。
  • その復元ターゲットが (復元時に) VSS_RT_ALTERNATEに設定されました。
どちらの場合も、代替の場所マッピングが定義されていないと、ライター エラーが発生します。

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

  • 復元方法はVSS_RME_RESTORE_IF_NOT_THEREであり、ファイルのバージョンは既にディスク上に存在します。
  • 復元方法がVSS_RME_RESTORE_IF_CAN_REPLACEされ、ファイルのバージョンがディスク上に存在し、置き換えることはできません。
代替の場所マッピングは復元操作中にのみ使用され、バックアップ操作中にのみ使用される代替パスと混同しないでください。

GetAlternateLocationMapping によって返されるマッピングは、ファイルの復元中に使用される別の場所マッピングを参照します。

別の場所マッピングは、IVssBackupComponents::AddAlternativeLocationMapping によって IVssComponent オブジェクトに追加されます。

呼び出し元は IUnknown::Release を呼び出して、 ppMapping パラメーターが指す IVssWMFiledesc オブジェクトを使用して完了したときに、そのパラメーターが保持するシステム リソースを解放する必要があります。

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

要件

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

こちらもご覧ください

IVssBackupComponents::AddAlternativeLocationMapping

IVssComponent

IVssExamineWriterMetadata::GetAlternateLocationMapping