IVssBackupComponents::AddNewTarget メソッド (vsbackup.h)
AddNewTarget メソッドは、バックアップ アプリケーションがファイルを新しい場所に復元することを計画していることを示すために、復元操作中にリクエスターによって使用されます。
構文
HRESULT AddNewTarget(
[in] VSS_ID writerId,
[in] VSS_COMPONENT_TYPE ct,
[in] LPCWSTR wszLogicalPath,
[in] LPCWSTR wszComponentName,
[in] LPCWSTR wszPath,
[in] LPCWSTR wszFileName,
[in] bool bRecursive,
[in] LPCWSTR wszAlternatePath
);
パラメーター
[in] writerId
新しいターゲットを受け取るファイルを含むライター クラスのグローバル一意識別子 (GUID)。
[in] ct
コンポーネントの種類を識別します。 可能な戻り値については、 VSS_COMPONENT_TYPE に関するドキュメントを参照してください。
[in] wszLogicalPath
新しい復元ターゲットを受け取るファイルを含むコンポーネントの論理パスを含む Null で終わるワイド文字列。 詳細については、「 コンポーネントの論理パス」を参照してください。
ここで使用する論理パスを含む文字列の値は、 コンポーネントが IVssBackupComponents::AddComponents を使用してバックアップ セットに追加されたときに使用されたものと同じである必要があります。
論理パスには NULL を指定できます。
NULL 以外の論理パスに出現できる文字に制限はありません。
[in] wszComponentName
新しい復元ターゲットを受け取るファイルを含むコンポーネントの名前を含む Null で終わるワイド文字列。
文字列は NULL ではなく、 IVssBackupComponents::AddComponent を使用してコンポーネントがバックアップ セットに追加されたときに使用されたのと同じコンポーネント名を含める必要があります。
NULL 以外の論理パスに出現できる文字に制限はありません。
[in] wszPath
新しい復元ターゲットを受け取るファイルを含むディレクトリまたはディレクトリ階層の名前を含む Null で終わるワイド文字列。
ディレクトリは VSS マシン上のローカル ディレクトリにすることも、リモート ファイル サーバー上のファイル共有ディレクトリにすることもできます。
パスには環境変数 (%SystemRoot%) を含めることができますが、ワイルドカード文字を含めることはできません。 UNC パスがサポートされています。
パスが円記号 ("") で終わるという要件はありません。 この情報を取得するのはアプリケーションによってチェック。
[in] wszFileName
新しい復元ターゲットを受け取るファイルのファイル指定を含む Null で終わるワイド文字列。
ファイル指定にディレクトリ指定を含めることはできません (たとえば、バックスラッシュは含めません)、 を含めることができます。 および * ワイルドカード文字。
[in] bRecursive
wszPath によって定義され、wszFileName によって提供されるファイル仕様に一致するディレクトリ内のファイルのみが新しい復元ターゲットを受け取るか、または wszPath によって定義され、wszFileName によって提供されるファイル仕様に一致する階層内のすべてのファイルが新しい復元ターゲットを受け取るかどうかを示すブール値。
マウントされたフォルダーの走査の詳細については、「マウント されたフォルダーの操作」と「ポイントの再解析」を参照してください。
[in] wszAlternatePath
新しい復元ターゲット ディレクトリの完全修飾パスを含む Null で終わるワイド文字列。
ディレクトリは VSS マシン上のローカル ディレクトリにすることも、リモート ファイル サーバー上のファイル共有ディレクトリにすることもできます。
UNC パスがサポートされています。
戻り値
このメソッドの有効なリターン コードを次に示します。
値 | 意味 |
---|---|
|
新しい復元ターゲットが正常に追加されました。 |
|
パラメーター値の 1 つが無効です。 |
|
呼び出し元がメモリやその他のシステム リソースを使い切れている。 |
|
バックアップ コンポーネント オブジェクトが初期化されていないか、復元操作中にこのメソッドが呼び出されました。 |
|
XML ドキュメントが無効です。 詳細については、イベント ログを確認してください。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。 |
|
コンポーネントが存在しないか、パスとファイルの指定がコンポーネント内のコンポーネントとファイルの仕様と一致しません。 |
|
予期しないエラー。 エラー コードは、エラー ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は、Windows Server 2008 R2 と Windows 7 まではサポートされません。 代わりに E_UNEXPECTED が使用されます。 |
注釈
Windows 7、Windows Server 2008 R2、Windows Vista、Windows Server 2008、Windows XP、Windows Server 2003: リモート ファイル共有は、Windows 8してWindows Server 2012するまでサポートされません。
AddNewTarget (wszComponentName) の引数として指定されたコンポーネント名は、バックアップ コンポーネント ドキュメントに既に追加されているコンポーネントと一致している必要があります。
したがって、 wszComponentName には、バックアップ コンポーネント ドキュメントに明示的に含まれる任意のコンポーネントの名前を指定できます。
サブコンポーネント内のファイルの新しいターゲットの追加は、サブコンポーネントを含むコンポーネント セットを定義するコンポーネントの名前を使用して行う必要があります。
復元ターゲットを変更するファイルを指定する場合は、 要求者は、AddNewTarget に提供されるパス、ファイル指定、再帰フラグ (wszPath、wszFileSpec、および bRecursive) の組み合わせが、IVssCreateWriterMetadata::AddFilesToFileGroup、IVssCreateWriterMetadata::AddDatabaseFiles、またはを使用してコンポーネントに追加されたファイル セットの 1 つと一致する必要があることを確認する必要があります。IVssCreateWriterMetadata::AddDatabaseLogFiles。
リクエスターが AddNewTarget を呼び出す場合は、 IVssBackupComponents::P reRestore を呼び出す前に、これを行う必要があります。 詳細については、「 復元の準備の概要」を参照してください。
パスとファイル記述子の情報は、IVssWMComponent::GetFile、IVssWMComponent::GetDatabaseFile、または IVssWMComponent::GetDatabaseLogFile によって返される IVssWMFiledesc オブジェクトを使用して、ライター メタデータ ドキュメントから取得できます。 IVssWMComponent オブジェクトは、IVssExamineWriterMetadata::GetComponent メソッドによってライター メタデータ ドキュメントから取得されます。
ライターは、IVssComponent::GetNewTargetCount メソッドと IVssComponent::GetNewTarget メソッドを使用して、ファイルが新しい場所に復元されたかどうかを判断できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | vsbackup.h (VsBackup.h、Vss.h、VsWriter.h を含む) |
Library | VssApi.lib |
こちらもご覧ください
IVssBackupComponents::AddComponent
IVssComponent::GetNewTargetCount
IVssCreateWriterMetadata::AddDatabaseFiles
IVssCreateWriterMetadata::AddDatabaseLogFiles
IVssCreateWriterMetadata::AddFilesToFileGroup
IVssExamineWriterMetadata::GetComponent
IVssWMComponent::GetDatabaseFile