Win32 API 日本語リファレンス
ホームSystem.ServerBackup › IWsbApplicationRestoreSupport

IWsbApplicationRestoreSupport

COM
IID8d3bdb38-4ee8-4718-85f9-c7dbc4ab77aa継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

アプリケーション固有の復元タスクを実行するためのメソッドを定義します。

メソッド 4

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

vtbl 3 HRESULT PreRestore(LPWSTR wszWriterMetadata, LPWSTR wszComponentName, LPWSTR wszComponentLogicalPath, BOOLEAN bNoRollForward)

アプリケーション固有の PreRestore 操作を実行します。

wszWriterMetadataLPWSTRinVSS ライターのメタデータを格納する文字列です。
wszComponentNameLPWSTRinコンポーネントまたはコンポーネントセットの名前です。wszWriterMetadata パラメーターが指すメタデータ内の名前と一致する必要があります。
wszComponentLogicalPathLPWSTRinコンポーネントまたはコンポーネントセットの論理パスです。wszWriterMetadata パラメーターが指すメタデータ内の論理パスと一致する必要があります。
bNoRollForwardBOOLEANin以前の特定時点への回復操作が進行中で、アプリケーションのロールフォワードを実行すべきでない場合は TRUE に設定します。アプリケーションの復元操作が実行される前に、そのアプリケーションの以前のログが削除されます。

戻り値

成功した場合は S_OK を、それ以外の場合はエラー値を返します。返される可能性のある値には次のものがあります。

解説(Remarks)

アプリケーションの復元中、Windows Server Backup は各アプリケーションコンポーネントのファイルを復元する前にこのメソッドを呼び出します。

vtbl 4 HRESULT PostRestore(LPWSTR wszWriterMetadata, LPWSTR wszComponentName, LPWSTR wszComponentLogicalPath, BOOLEAN bNoRollForward)

アプリケーション固有の PostRestore 操作を実行します。

wszWriterMetadataLPWSTRinVSS ライターのメタデータを格納する文字列です。
wszComponentNameLPWSTRinコンポーネントまたはコンポーネントセットの名前です。wszWriterMetadata パラメーターが指すメタデータ内の名前と一致する必要があります。
wszComponentLogicalPathLPWSTRinコンポーネントまたはコンポーネントセットの論理パスです。wszWriterMetadata パラメーターが指すメタデータ内の論理パスと一致する必要があります。
bNoRollForwardBOOLEANin以前の特定時点への回復操作が進行中で、アプリケーションのロールフォワードを実行すべきでない場合は TRUE に設定します。アプリケーションの復元操作が実行される前に、そのアプリケーションの以前のログが削除されます。

戻り値

成功した場合は S_OK を、それ以外の場合はエラー値を返します。返される可能性のある値には次のものがあります。

解説(Remarks)

アプリケーションの復元中、Windows Server Backup は各アプリケーションコンポーネントのファイルを復元した後にこのメソッドを呼び出します。

vtbl 5 HRESULT OrderComponents(DWORD cComponents, LPWSTR* rgComponentName, LPWSTR* rgComponentLogicalPaths, LPWSTR** prgComponentName, LPWSTR** prgComponentLogicalPath)

アプリケーションコンポーネントを復元する順序を指定します。

cComponentsDWORDin復元するコンポーネントの数です。このパラメーターの値は 0 から MAX_COMPONENTS までの範囲を取ります。
rgComponentNameLPWSTR*in復元するコンポーネントの名前からなる、cComponents 個の要素を持つ配列です。
rgComponentLogicalPathsLPWSTR*in復元するコンポーネントの論理パスからなる、cComponents 個の要素を持つ配列です。
prgComponentNameLPWSTR**out復元するコンポーネントの名前を、復元する順序で並べた cComponents 個の要素を持つ配列です。特定の復元順序が不要な場合、このパラメーターは NULL を受け取ります。
prgComponentLogicalPathLPWSTR**out復元するコンポーネントの論理パスを、復元する順序で並べた cComponents 個の要素を持つ配列です。特定の復元順序が不要な場合、このパラメーターは NULL を受け取ります。

戻り値

成功した場合は S_OK を、それ以外の場合はエラー値を返します。返される可能性のある値には次のものがあります。

解説(Remarks)

Windows Server Backup は、アプリケーションのコンポーネントを復元する前にこのメソッドを呼び出します。

vtbl 6 HRESULT IsRollForwardSupported(BYTE* pbRollForwardSupported)

アプリケーションがロールフォワード復元をサポートしているかどうかを報告します。

pbRollForwardSupportedBYTE*outロールフォワード復元がサポートされている場合は TRUE を、それ以外の場合は FALSE を受け取ります。

戻り値

成功した場合は S_OK を、それ以外の場合はエラー値を返します。

解説(Remarks)

ロールフォワード復元をサポートするアプリケーションは、 pbRollForwardSupported パラメーターの値を TRUE に設定する必要があります。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IWsbApplicationRestoreSupport "{8D3BDB38-4EE8-4718-85F9-C7DBC4AB77AA}"
#usecom global IWsbApplicationRestoreSupport IID_IWsbApplicationRestoreSupport "{}"
#comfunc global IWsbApplicationRestoreSupport_PreRestore              3 wstr,wstr,wstr,int
#comfunc global IWsbApplicationRestoreSupport_PostRestore             4 wstr,wstr,wstr,int
#comfunc global IWsbApplicationRestoreSupport_OrderComponents         5 int,var,var,var,var
#comfunc global IWsbApplicationRestoreSupport_IsRollForwardSupported  6 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。