次の方法で共有


バックアップ コンポーネントドキュメントの内容

バックアップ コンポーネント ドキュメントは、 IVssBackupComponents インターフェイスのインスタンスによって管理されます。 このインターフェイスには、バックアップ操作の制御、シャドウ コピーの操作、システム状態のクエリを行うさまざまな方法も含まれています。 ただし、このインターフェイスを介してドキュメントのすべての情報に直接アクセスできるわけではありません。

バックアップ コンポーネント ドキュメントは、次のいくつかのデータ セットで構成されています。

  • バックアップ操作または復元操作に明示的に含まれていたコンポーネントに関する情報
  • 格納されているコンポーネントとライター情報の表現
  • バックアップ/回復操作に関する状態情報

リクエスターとライターの両方でコンポーネント情報を使用できる一方で、状態情報にアクセスできるのはライターだけです。

コンポーネント包含情報

バックアップ コンポーネント ドキュメントには、リクエスターによるバックアップと復元に明示的に含まれるコンポーネントの一覧が含まれています。 この一覧には、次のものが含まれます。

復元に暗黙的に含まれるコンポーネントの ID は、バックアップ コンポーネント ドキュメントに格納されません。

VSS は、コンポーネントの包含に関する情報にアクセスできます。復元またはバックアップにコンポーネントが明示的に含まれていないライターは、 PrepareForBackup または PreRestore イベントの生成後に VSS イベントを受信しません。

ライターは、この情報に対して直接クエリを実行することはできません。 仕様上、個々の VSS ライターはシステム上の他のライターの状態に関する詳細情報を必要とせず、前述のように、コンポーネントが含まれていないものは VSS 操作に参加する必要がないため、これは重要な制限ではありません。

要求者は、どのコンポーネントが操作に明示的に含まれているかを判断できます。

IVssBackupComponents::GetWriterComponentsCount メソッドは、(ドキュメント内のコンポーネントの数ではなく) バックアップ コンポーネント ドキュメントに格納されているコンポーネント情報を含むライターの数を返します。

リクエスターは、 IVssBackupComponents::GetWriterComponents を使用して格納されているライター情報を通じてインデックスを作成します。 IVssWriterComponentsExt インターフェイスのインスタンスを返します。 IVssWriterComponentsExt インターフェイスを使用すると、リクエスターは、参加しているライターのライター クラスライター インスタンスを取得したり、バックアップ コンポーネント ドキュメントに格納されているコンポーネントに関する情報にアクセスしたりできます。

含まれるコンポーネントに関する情報

IVssComponent インターフェイスのインスタンスを介してアクセスされる、バックアップ コンポーネント ドキュメントのコンポーネント データの表現 (パスとファイルの仕様情報は含まれません)。

要求者とライターは、さまざまな方法で IVssComponent インターフェイスのインスタンスへのアクセスを取得します。

リクエスターは、IVssBackupComponents::GetWriterComponents によって返される IVssWriterComponentsExt インターフェイスのインスタンスを使用して、ライターごとにコンポーネント データを調べます。

ライター識別情報に加えて、 IVssWriterComponentsExt インターフェイスは、 IVssComponent インターフェイスのインスタンスの配列を提供します。選択したライターに含まれるコンポーネントごとに 1 つ。

バックアップ コンポーネント ドキュメントのライフ サイクルで説明したように、ライターは PrepareForBackup、PrepareForSnapshot、PostSnapshot、BackupComplete、PreRestore、または PostRestore イベントを処理するときに、IVssWriterComponents インターフェイスを介して同じ情報にアクセスできます。

IVssComponent を使用すると、ライターと要求者の両方が次の情報を取得できます。

要求者とは異なり、ライターは IVssComponent インターフェイスを使用してバックアップ コンポーネント ドキュメント内の特定の情報を変更できます。

要求者の状態情報

要求者は、 IVssBackupComponents インターフェイスを使用して、バックアップまたは復元操作の状態に関する情報をバックアップ コンポーネント ドキュメントに挿入します。 ライター アプリケーションは、 CVssWriter クラスを使用してこの情報を照会できます。

バックアップ コンポーネント ドキュメントに格納されている状態情報には、次のものが含まれます。

バックアップに関する一般的な情報

  • 全体的なバックアップの種類 (増分、差分、または完全)

IVssBackupComponents::SetBackupState を使用して要求者によって設定される

CVssWriter::GetBackupType を使用してライターによって取得される

- コンポーネント操作がサポートされているかどうか

IVssBackupComponents::SetBackupState を使用して要求者によって設定される

CVssWriter::AreComponentsSelected を使用してライターによって取得されます

- 起動可能なシステム状態がバックアップされているかどうか

IVssBackupComponents::SetBackupState を使用して要求者によって設定される

CVssWriter::IsBootableStateBackedUp を使用してライターによって取得される

- 部分的なファイル操作がサポートされているかどうか

IVssBackupComponents::SetBackupState を使用して要求者によって設定される

CVssWriter::IsPartialFileSupportEnabled を使用してライターによって取得されます

復元に関する一般的な情報

  • 全体的な復元の種類 (復元がコピーまたはインポートのどちらによるか)

IVssBackupComponents::SetRestoreState を使用して要求者によって設定される

CVssWriter::GetRestoreType を使用してライターによって取得される

関連ファイルに関する情報

  • 部分ファイル操作で特定のコンポーネントによって使用される範囲ファイルの場所

IVssBackupComponents::SetRangesFilePath を使用して要求者によって設定される

IVssComponent::GetPartialFile を使用してライター (または要求者) によって取得されます

情報の状態

  • 特定のライターのコンポーネントのいずれかが正常にバックアップされたかどうかを示す

IVssBackupComponents::SetBackupSucceeded を使用して要求者によって設定される

IVssComponent::GetBackupSucceeded を使用してライターと要求者によって取得されます

- 特定のライターのコンポーネントのいずれかが正常に復元されたかどうかを示します

IVssBackupComponents::SetFileRestoreStatus を使用して要求者によって設定される

IVssComponent::GetFileRestoreStatus を使用してライターとリクエスターによって取得されます

Writer-Settable情報

  • 特定のライターのコンポーネントの 1 つに対する追加のバックアップ仕様

IVssComponent::SetBackupMetadata を使用してライターによって設定される

IVssComponent::GetBackupMetadata を使用してライターと要求者によって取得されます

- 特定のライターのコンポーネントの 1 つに対する追加の復元仕様

IVssComponent::SetRestoreMetadata を使用してライターによって設定される

IVssComponent::GetRestoreMetadata を使用してライターと要求者によって取得されます

- ライター独自の特定の形式で、コンポーネントのバックアップの現在のバックアップの時刻を示すバックアップ スタンプ

IVssComponent::SetBackupStamp を使用してライターによって設定される

IVssComponent::GetBackupStamp を使用してライターと要求者によって取得されます

- ライター固有の形式で、IVssComponent::SetBackupStamp によって最初に設定されたバックアップ スタンプを使用して、コンポーネントのバックアップの 1 つを最後にバックアップした時刻を示すバックアップ スタンプ

IVssBackupComponents::SetPreviousBackupStamp を使用して、特定のコンポーネントの要求者によって格納および設定されます

IVssComponent::GetPreviousBackupStamp を使用してライターと要求者によって取得されます

- 復元操作の前後にエラーが発生した場合のエラー メッセージ

IVssComponent::SetPreRestoreFailureMsg または IVssComponent::SetPostRestoreFailureMsg を使用してライターによって設定される

IVssComponent::GetPreRestoreFailureMsg または IVssComponent::GetPostRestoreFailureMsg を使用してライターとリクエスターによって取得されます