次の方法で共有


IVssBackupComponentsEx::SetSelectedForRestoreEx メソッド (vsbackup.h)

SetSelectedForRestoreEx メソッドは、指定したライター インスタンスへの復元のために、指定した選択可能なコンポーネントが選択されているかどうかを示します。

構文

HRESULT SetSelectedForRestoreEx(
  [in] VSS_ID             writerId,
  [in] VSS_COMPONENT_TYPE ct,
  [in] LPCWSTR            wszLogicalPath,
  [in] LPCWSTR            wszComponentName,
  [in] bool               bSelectedForRestore,
  [in] VSS_ID             instanceId
);

パラメーター

[in] writerId

ライター クラスのグローバル一意識別子 (GUID)。

[in] ct

コンポーネントの種類。 使用可能 値については、「VSS_COMPONENT_TYPE」を参照してください。

[in] wszLogicalPath

コンポーネントの論理パスを含む Null で終わるワイド文字列。 詳細については、「 コンポーネントの論理パス」を参照してください。

ここで使用する論理パスを含む文字列の値は、コンポーネントの追加時に使用されたものと同じである必要があります。

論理パスには NULL を指定できます。

NULL 以外の論理パスに出現できる文字に制限はありません。

[in] wszComponentName

コンポーネントの名前を含む Null で終わるワイド文字列。

文字列を NULL にすることはできません。 また、コンポーネントが IVssBackupComponents::AddComponent メソッドを使用してバックアップ セットに追加されたときに使用されたものと同じコンポーネント名を含める必要があります。

[in] bSelectedForRestore

このパラメーターの値が true の場合、選択したコンポーネントが復元用に選択されています。 値が false の場合、選択したコンポーネントは復元用に選択されていません。

[in] instanceId

ライター インスタンスの GUID。

このパラメーターの既定値はGUID_NULLです。

戻り値

このメソッドの有効なリターン コードを次に示します。

意味
S_OK
指定したコンポーネントが復元対象として選択されたことが正常に示されました。
E_INVALIDARG
パラメーター値の 1 つが無効です。
E_OUTOFMEMORY
呼び出し元がメモリやその他のシステム リソースを使い切れている。
VSS_E_BAD_STATE
バックアップ コンポーネント オブジェクトが初期化されていないか、復元操作中にこのメソッドが呼び出されたか、このメソッドが正しいシーケンス内で呼び出されていません。
VSS_E_OBJECT_NOT_FOUND
選択されているコンポーネントがバックアップ コンポーネント ドキュメントに存在しないか、そのコンポーネントに対応するライターのライブ インスタンスがシステム上で実行されていません。
VSS_E_INVALID_XML_DOCUMENT
XML ドキュメントが無効です。 詳細については、イベント ログを確認してください。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。
VSS_E_UNEXPECTED
予期しないエラー。 エラー コードは、エラー ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は、Windows Server 2008 R2 と Windows 7 まではサポートされません。 代わりに E_UNEXPECTED が使用されます。

注釈

コンポーネントを別のライター インスタンスに移動する SetSelectedForRestoreEx は、同じクラス ID を持つ複数のライター インスタンスの実行をサポートし、復元時に別のライター インスタンスへのコンポーネントの移動をサポートするライターに対してのみ呼び出すことができます。 ライターがこのサポートを提供しているかどうかを判断するには、 IVssExamineWriterMetadata::GetBackupSchema メソッドを 呼び出します。

SetSelectedForRestoreEx は、コンポーネント モードで行われる復元に対してのみ意味があります。

SetSelectedForRestoreEx は、バックアップ時に AddComponent を使用してバックアップ ドキュメントに明示的に追加されたコンポーネントに対してのみ呼び出すことができます。 コンポーネント セットの一部としてバックアップ用に暗黙的に選択されたコンポーネントの復元は、ドキュメントに追加された最も近い先祖コンポーネントで SetSelectedForRestoreEx を呼び出すことによって行う必要があります。 このコンポーネントのデータのみを復元する場合は、 IVssBackupComponents::AddRestoreSubcomponent メソッドを使用して実行する必要があります。これは、コンポーネントが復元可能な場合にのみ実行できます (「 選択性と論理パスの操作」を参照してください)。

このメソッドは、 IVssBackupComponents::P reRestore メソッドの前に呼び出す必要があります。

同じライターの複数のインスタンスがコンピューター上で実行されている可能性があるため、 instanceId パラメーターと writerID パラメーターの区別が必要です。

instanceId パラメーターの値がGUID_NULLの場合、これは IVssBackupComponents::SetSelectedForRestore メソッドを呼び出すことと同じです。

instanceId パラメーターは、コンポーネントを別のライター インスタンスに復元することを指定するために使用されます。 instanceId パラメーターの値がGUID_NULLされていない場合は、writerID パラメーターで指定されたのと同じライター クラス ID を持つライター インスタンスのインスタンス ID と一致する必要があります。

ライターのクラス識別子、インスタンス識別子、およびインスタンス名は、 IVssExamineWriterMetadataEx::GetIdentityEx メソッドを呼び出すことで確認できます。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008、Windows Server 2003 SP1 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー vsbackup.h (VsBackup.h、Vss.h、VsWriter.h を含む)
Library VssApi.lib

こちらもご覧ください

IVssBackupComponents::SetSelectedForRestore

IVssBackupComponentsEx

IVssExamineWriterMetadata::GetBackupSchema

IVssExamineWriterMetadataEx::GetIdentityEx