IVssComponent::GetDirectedTarget メソッド (vswriter.h)

GetDirectedTarget メソッドは、ライターがバックアップ時に保存した情報をバックアップ コンポーネント ドキュメントに返し、ファイルを復元するときにそのファイル (ソース ファイル) を再マップする必要があることを示します。 ファイルは、新しい復元ターゲットまたは復元ターゲットを持つ別の場所に復元されたデータの範囲に復元できます。

ライターまたはリクエスターは、このメソッドを呼び出すことができます。

構文

HRESULT GetDirectedTarget(
  [in]  UINT iDirectedTarget,
  [out] BSTR *pbstrSourcePath,
  [out] BSTR *pbstrSourceFileName,
  [out] BSTR *pbstrSourceRangeList,
  [out] BSTR *pbstrDestinationPath,
  [out] BSTR *pbstrDestinationFilename,
  [out] BSTR *pbstrDestinationRangeList
);

パラメーター

[in] iDirectedTarget

有向ターゲットのインデックス番号。 このパラメーターの値は 0 から n から 1 までの整数で、 n は特定のコンポーネント (およびコンポーネント セットを定義する場合はそのサブコンポーネント) に関連付けられた対象ターゲットの合計数です。 n の値は、IVssComponent::GetDirectedTargetCount によって返されます。

[out] pbstrSourcePath

バックアップ時に復元するファイル (ソース ファイル) が格納されているディレクトリへのパスを含む文字列を受け取る呼び出し元割り当て変数のアドレス。 このパスは、コンポーネントまたはそのサブコンポーネントの 1 つ (コンポーネントがコンポーネント セットを定義している場合) に既に含まれているファイル セットのパスと一致するか、そのパスの下にある必要があります。

[out] pbstrSourceFileName

復元中に再マップされるファイルの名前 (バックアップ時) を含む文字列を受け取る呼び出し元割り当て変数のアドレス (ソース ファイル)。 このファイルの名前にはワイルドカード文字を含めず、ソース パス (pbstrSourcePath) と同じファイル セットのメンバーである必要があります。

[out] pbstrSourceRangeList

ソース ファイルのサポート範囲 (復元するファイルのセクション) を示すファイル オフセットと長さのコンマ区切りのリストを含む文字列を受け取る呼び出し元割り当て変数のアドレス。

ソース ファイルのサポート範囲の数と長さは、コピー先ファイルのサポート範囲の数とサイズと一致する必要があります。

[out] pbstrDestinationPath

復元時にソース ファイル データが再マップされるパスを含む文字列を受け取る呼び出し元によって割り当てられた変数のアドレス。

[out] pbstrDestinationFilename

復元時にソース ファイル データが再マップされるファイルの名前を含む文字列を受け取る呼び出し元によって割り当てられた変数のアドレス。

[out] pbstrDestinationRangeList

コピー先ファイルのサポート範囲 (ソース ファイルのセクションを復元する場所) を示す、コンマ区切りのファイル オフセットと長さのリストを含む文字列を受け取る呼び出し元割り当て変数のアドレス。

コピー先ファイルのサポート範囲の数と長さは、ソース ファイルのサポート範囲の数とサイズと一致する必要があります。

戻り値

このメソッドの有効な戻りコードを次に示します。

意味
S_OK
属性値が正常に返されました。
E_INVALIDARG
パラメーター値の 1 つが無効です。
E_OUTOFMEMORY
呼び出し元がメモリまたは他のシステム リソースを使い切れている。
VSS_E_INVALID_XML_DOCUMENT
XML ドキュメントが無効です。 詳細については、イベント ログを確認してください。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。
VSS_E_OBJECT_NOT_FOUND
指定した項目が見つかりませんでした。

注釈

GetDirectedTarget の呼び出しが成功した場合、呼び出し元は SysFreeString 関数を呼び出して、返される各文字列を解放します。

リクエスターは、復元先がVSS_RT_DIRECTEDされている場合にのみ、バックアップ コンポーネント ドキュメントに格納されているダイレクト ターゲット情報を使用します。

範囲リスト (wszSourceRanges および wszDestinationRanges) の構文は、形式 offset1:length1、offset2:length2 のコンマ区切りリストの構文です。各オフセットと長さは、それぞれバイト オフセットと長さをバイト単位で指定する 64 ビット整数です。 オフセットと長さは、16 進数または 10 進数の値で表すことができます。

GetDirectedTarget によってダイレクト ターゲットが返されるファイルは、現在のコンポーネントのファイルのメンバーであるか、定義されているサブコンポーネントのメンバーである可能性があります。

呼び出し元は、SysFreeString を呼び出して、pbstrSourcePathpbstrSourceFileNamepbstrSourceRangeListpbstrDestinationPathpbstrDestinationFilenameおよび pbstrDestinationRangeList パラメーターによって保持されているメモリを解放する必要があります。

バックアップする部分ファイル範囲が、転送先のソース範囲と一致する場合、部分ファイルをダイレクト ターゲットとして追加できます ( IVssComponent::AddPartialFile を参照)。 これにより、部分ファイルを再マップできます。

リクエスターは、復元を正しく実装するために、ダイレクト ターゲット ソース ファイルが部分ファイルとしてバックアップされたかどうかを確認する必要があります。 この場合、リクエスターは、転送先情報を部分ファイル情報 (IVssComponent::GetPartialFile) と組み合わせて使用して、復元中にバックアップされたデータの再マッピングを実装します。

要件

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

こちらもご覧ください

IVssComponent

IVssComponent::AddDirectedTarget

IVssComponent::GetDirectedTargetCount