復元とサブコンポーネントの選択性の使用
復元の選択性により、リクエスターはコンポーネントを個別に復元できるタイミングを判断できます。 バックアップに含まれているコンポーネントは、次の 2 つの方法のいずれかで表示できます。
- コンポーネントがバックアップ に明示的に含まれている 可能性があります。 これらのコンポーネントには、バックアップ コンポーネント ドキュメントに対応する IVssComponent インスタンスがあります。 これらのコンポーネントは、 IVssBackupComponents::SetSelectedForRestore を使用した復元に含まれています。
- コンポーネントが バックアップに暗黙的に含まれている 可能性があります。 これらのコンポーネントには、バックアップ コンポーネント ドキュメントに対応する IVssComponent インスタンスがありません。ただし、ドキュメント内の一部の先祖コンポーネントには、常に IVssComponent インスタンスが存在します。 これらのコンポーネントは、 IVssBackupComponents::AddRestoreSubcomponent を使用した復元に含まれています。
バックアップに明示的に含まれているコンポーネントは、復元の選択可能性の値に関係なく、常に個別に復元用に選択できます。 リクエスターは IVssBackupComponents::SetSelectedForRestore を呼び出し、特定のコンポーネントのライター ID、論理パス、および名前を渡します。 明示的に含まれる先祖が復元されると、バックアップに暗黙的に含まれていたコンポーネントが復元されます。 暗黙的に含まれるコンポーネントは、復元に選択可能としてマークされている場合にのみ、復元用に個別に選択できます。 リクエスターは最初に、最も近い明示的に含まれている先祖コンポーネントで IVssBackupComponents::SetSelectedForRestore を呼び出し、次に先祖コンポーネントで IVssBackupComponents::AddRestoreSubcomponent を呼び出して、復元用に暗黙的に含まれるコンポーネントを選択します。 この処理が完了すると、暗黙的に選択されたコンポーネントのみが復元されます。コンポーネント セット内の他のすべてのコンポーネントは復元されません。
IVssCreateWriterMetadata::AddComponent を使用してコンポーネントを追加するときに常に明示的に設定する必要があるバックアップの選択性とは異なり、復元の選択可能性の既定値は false で、オーバーライドできます。
最上位コンポーネント (空の論理パスを持つコンポーネント) はバックアップにのみ明示的に含めることができるため、復元の選択性は、これらのコンポーネントに意味はありません。