IDedupBackupSupport::RestoreFiles メソッド (ddpbackup.h)

完全に最適化されたバージョンのファイル (再解析ポイント) とデータ重複除去ストアを含むバックアップ ストアから一連のファイルを再構築します。

RestoreFiles メソッドを呼び出すアプリケーションでは、IDedupReadFileCallback インターフェイスも実装する必要があります。 RestoreFiles メソッドを呼び出す前に、ファイルのデータ重複除去ポイントを FileFullPaths パラメーターで指定された場所に復元しておく必要があります。 再解析ポイントにあるメタデータは、復元プロセスをさらに推進するためにデータ重複除去によって利用されます。

このメソッドを呼び出した後、アプリケーションは IDedupReadFileCallback::OrderContainersRestore (ストリーム マップ コンテナー用とデータ コンテナー用) への 2 回の呼び出しと、 IDedupReadFileCallback::ReadBackupFile への 2 つ以上の呼び出しを受け取ることを期待できます。 また、アプリケーションは、コンテナー ファイルに送信される ReadBackupFile の各呼び出しの前に、IDedupReadFileCallback::P reviewContainerRead の呼び出しを 1 回受け取ります。

構文

HRESULT RestoreFiles(
  [in]  ULONG                  NumberOfFiles,
  [in]  BSTR                   *FileFullPaths,
  [in]  IDedupReadFileCallback *Store,
  [in]  DWORD                  Flags,
  [out] HRESULT                *FileResults
);

パラメーター

[in] NumberOfFiles

復元するファイルの数。 これが 10,000 を超える場合、メソッドは E_INVALIDARG (0x80070057 ) で失敗します。

[in] FileFullPaths

ファイルごとに、このパラメーターには、ボリュームのルート ディレクトリから、アプリケーションによって以前に復元された再解析ポイントへの完全パスが含まれます。

[in] Store

バックアップ ストアの IDedupReadFileCallback インターフェイス ポインター。 このパラメーターは必須であり、 NULL にすることはできません。

[in] Flags

このパラメーターは、入力時に DEDUP_RECONSTRUCT_UNOPTIMIZED する必要があります。 詳細については、 DEDUP_BACKUP_SUPPORT_PARAM_TYPE 列挙を参照してください。

[out] FileResults

ファイルごとに、このパラメーターには、そのファイルの復元操作の結果が含まれます。 このパラメーターは省略可能であり、アプリケーションが個々のファイルの結果を知る必要がない場合は NULL にすることができます

S_OK (0x00000000L)

ファイルが正常に復元されました。

S_FALSE (0x00000001L)

指定されたファイルは重複除去されたファイルではありません。

DDP_E_FILE_CORRUPT (0x80565355L)

データ重複除去でファイルの破損エラーが発生しました。

DDP_E_FILE_SYSTEM_CORRUPT (0x8056530EL)

データ重複除去でファイル システムの破損エラーが発生しました。

DDP_E_INVALID_DATA (0x8056531DL)

このデータは無効です。

DDP_E_JOB_COMPLETED_PARTIAL_SUCCESS (0x80565356L)

操作が完了し、いくつかのエラーが発生しました。 詳細については、イベント ログを確認してください。

Windows Server 2012: この値は、R2 をWindows Server 2012する前にサポートされていません。

DDP_E_NOT_FOUND (0x80565301L)

要求されたオブジェクトが見つかりませんでした。

DDP_E_PATH_NOT_FOUND (0x80565304L)

指定されたコンテナー パスがバックアップ ストアに見つかりませんでした。

DDP_E_UNEXPECTED (0x8056530CL)

データ重複除去で予期しないエラーが発生しました。 詳細については、データ重複除去操作イベント ログを確認してください。

DDP_E_VOLUME_DEDUP_DISABLED (0x80565323L)

指定されたボリュームが重複除去に対して有効になっていません。

DDP_E_VOLUME_UNSUPPORTED (0x8056530bL)

指定されたボリュームの種類はサポートされていません。 重複除去は、書き込み可能な固定 NTFS データ ボリュームでサポートされています。

Windows Server 2012: この値は、R2 をWindows Server 2012する前にサポートされていません。

戻り値

このメソッドは、S_OKなどの標準の HRESULT 値を返すことができます。 また、HRESULT_FROM_WIN32 マクロを使用して、変換されたシステム エラー コードを返すこともできます。 成功または失敗の HRESULT 値をテストするには、Winerror.h で定義 されている SUCCEEDED マクロと FAILED マクロを使用します。 可能な戻り値は次のとおりです。

ファイルが正常に復元されなかった場合、最初に発生したファイル エラーが結果になります。 これは、上記の "DDP_E_XXX" エラー コードのいずれかになります。

注釈

復元エンジン (データ重複除去によって実装される) は、IDedupReadFileCallback::ReadBackupFile メソッドを呼び出すことによってのみバックアップ メディアからデータを読み取ることができるため、Store パラメーターが必要です。

要件

要件
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2012
対象プラットフォーム Windows
ヘッダー ddpbackup.h

こちらもご覧ください

DEDUP_BACKUP_SUPPORT_PARAM_TYPE

IDedupBackupSupport

IDedupReadFileCallback