復元中の新しいターゲットの操作
要求元は、ファイル セットの既定のパスまたはその代替の場所マッピング以外の場所で示される 場所にファイルを復元する必要がある場合があります。 復元先にアクセスできなかった場合や、要求元ユーザーがファイルを以前に不明な場所に復元するように意図的に要求するなど、さまざまな理由が考えられます。 この場合、リクエスターは新しいターゲット メカニズムを使用して、ディスク上の別の領域にファイルを復元したことをライターに示します。
すべてのライターが、ファイルの復元先を変更するリクエスターをサポートしているわけではありません。 リクエスターは、ライターのバックアップ スキーマ マスク ( IVssExamineWriterMetadata::GetBackupSchema によって返される) を確認し、VSS_BS_WRITER_SUPPORTS_NEW_TARGET フラグが含まれていることを確認して、ライターのサポートを確認する必要があります。
要求元は、 IVssBackupComponents::AddNewTarget メソッドを使用してこのような復元を示します。 要求元は、ファイル指定と元の復元先と新しい復元先を指定するだけでなく、コンポーネント情報 (論理パスとコンポーネント名) を指定します。
どのコンポーネントの情報を使用するかは、新しいターゲットが追加されたファイルを管理するコンポーネントが 明示的に含まれていた か 、バックアップに暗黙的に含まれていた かによって異なります。
管理コンポーネントが明示的に含まれていた場合は、その情報が使用されます。 管理コンポーネントが暗黙的に含まれていた場合は、コンポーネント セット内のサブコンポーネントです。 この場合、コンポーネント セットの定義コンポーネントの情報が使用されます。
PostRestore イベントの処理中に、ライターはチェックして、ファイルのいずれかが新しい場所に復元されたかどうかを確認する必要があります。 これを行うには、 IVssComponent::GetNewTargetCount メソッドと IVssComponent::GetNewTarget メソッドを 使用します。
使用される IVssComponent インターフェイスのインスタンスは、ファイルの管理コンポーネントがバックアップに明示的または暗黙的に追加されたかどうかによって異なります。