Win32 API 日本語リファレンス
ホームStorage.DataDeduplication › IDedupBackupSupport

IDedupBackupSupport

COM
IIDc719d963-2b2d-415e-acf7-7eb7ca596ff4継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

データ重複除去の再解析ポイント、メタデータ、コンテナーファイルのコピーを含むバックアップストアからファイルを復元するためのメソッドを提供します。

解説(Remarks)

バックアップアプリケーションは IDedupBackupSupport インターフェイスを使用して、完全に最適化されたバージョンのファイル(再解析ポイント)とデータ重複除去ストアを含むバックアップストアから、選択したファイルの復元処理を実行します。

このインターフェイスは、バックアップストアに元の最適化されていないファイルのコピーが含まれている場合には役に立ちません。

IDedupBackupSupport インターフェイスを使用するアプリケーションは、 IDedupReadFileCallback インターフェイスも実装する必要があります。

メソッド 1

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT RestoreFiles(DWORD NumberOfFiles, LPWSTR* FileFullPaths, IDedupReadFileCallback* Store, DWORD Flags, HRESULT* FileResults)

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

NumberOfFilesDWORDin復元するファイルの数。10,000 を超える場合、このメソッドは E_INVALIDARG (0x80070057) で失敗します。
FileFullPathsLPWSTR*in各ファイルについて、このパラメーターには、アプリケーションが以前に復元した再解析ポイントへの、ボリュームのルートディレクトリからのフルパスが格納されます。
StoreIDedupReadFileCallback*inバックアップストアの IDedupReadFileCallback インターフェイスポインター。このパラメーターは必須であり、NULL にすることはできません。
FlagsDWORDinこのパラメーターは、入力時に DEDUP_RECONSTRUCT_UNOPTIMIZED である必要があります。詳細については、 DEDUP_BACKUP_SUPPORT_PARAM_TYPE 列挙型を参照してください。
FileResultsHRESULT*out

各ファイルについて、このパラメーターにはそのファイルの復元操作の結果が格納されます。このパラメーターは省略可能であり、アプリケーションが個々のファイルごとの結果を知る必要がない場合は 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: この値は Windows Server 2012 R2 より前ではサポートされません。

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: この値は Windows Server 2012 R2 より前ではサポートされません。

戻り値

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

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

解説(Remarks)

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

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IDedupBackupSupport "{C719D963-2B2D-415E-ACF7-7EB7CA596FF4}"
#usecom global IDedupBackupSupport IID_IDedupBackupSupport "{73D6B2AD-2984-4715-B2E3-924C149744DD}"
#comfunc global IDedupBackupSupport_RestoreFiles  3 int,var,sptr,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。