IDedupBackupSupport::RestoreFiles メソッド (ddpbackup.h)
完全に最適化されたバージョンのファイル (再解析ポイント) とデータ重複除去ストアを含むバックアップ ストアから一連のファイルを再構築します。
RestoreFiles メソッドを呼び出すアプリケーションでは、IDedupReadFileCallback インターフェイスも実装する必要があります。 RestoreFiles メソッドを呼び出す前に、ファイルのデータ重複除去ポイントを FileFullPaths パラメーターで指定された場所に復元しておく必要があります。 再解析ポイントにあるメタデータは、データ重複除去によって利用され、復元プロセスをさらに推進します。
このメソッドを呼び出した後、アプリケーションは IDedupReadFileCallback::OrderContainersRestore (ストリーム マップ コンテナー用とデータ コンテナー用の呼び出し) と 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 |