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

AddPartialFile メソッドは、特定のファイルの一部のみをバックアップし、それらの部分をバックアップすることを示します。

このメソッドを呼び出すことができるのはライターのみで、バックアップ操作中のみです。

構文

HRESULT AddPartialFile(
  [in] LPCWSTR wszPath,
  [in] LPCWSTR wszFilename,
  [in] LPCWSTR wszRanges,
  [in] LPCWSTR wszMetadata
);

パラメーター

[in] wszPath

部分的なファイル操作に関係するファイルのパスを含む Null で終わるワイド文字列。

パスには環境変数 (%SystemRoot%) を含めることができますが、ワイルドカード文字を含めることはできません。

パスが円記号 ("") で終わるという要件はありません。 この情報を取得するのはアプリケーションによってチェック。

このパスは、コンポーネントに既に含まれているファイル セットのパス (または、コンポーネントがコンポーネント セットを定義している場合はそのサブコンポーネントの 1 つ) と一致するか、そのパスの下にある必要があります。

[in] wszFilename

部分的なファイル操作に関連するファイルの名前を含む Null で終わるワイド文字列。 ファイルの名前 (wszFilename) はワイルドカード文字 (* または ?) を含むことができず、ソース パス (wszPath) を含むファイル セットのファイル指定と一致している必要があります。

[in] wszRanges

ファイルの部分的なサポート範囲を構成するファイル オフセットと長さの一覧 (実際にバックアップするファイルのセクション) またはそのようなリストを含むファイルの名前を含む Null で終わるワイド文字列。

部分ファイルのサポート範囲を指定する必要があり、この値を NULL にすることはできません。

[in] wszMetadata

部分的なファイル復元操作を検証するためにライターが必要とする追加のメタデータを含む Null で終わるワイド文字列。 このメタデータ文字列内の情報は、要求者に対して不透明になります。

追加のメタデータが必要ない場合、この値は NULL にすることができます

戻り値

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

意味
S_OK
アイテムを正常に設定しました。
E_INVALIDARG
パラメーター値の 1 つが無効です。
E_OUTOFMEMORY
呼び出し元がメモリやその他のシステム リソースを使い切れている。
VSS_E_BAD_STATE
メソッドがライターによって呼び出されなかったか、ライターによって呼び出された場合は、復元操作中に呼び出されませんでした。

注釈

このメソッドを呼び出すことができるのはライターのみであり、復元操作中にこのメソッドを呼び出すことはできません。

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

wszRange がすべてのオフセットと長さを含むファイル (範囲ファイル) を参照する場合、wszRange にはファイルへの完全なパスのみが含まれます。

範囲ファイルは、次の形式のバイナリ ファイルである必要があります。

  1. バックアップする必要がある個別のファイル範囲の数を示す 64 ビット整数
  2. 64 ビット整数のペアとして表される各範囲: バックアップされるファイルへのオフセット (バイト単位)、およびバックアップ対象のそのオフセットから始まるデータの長さ
どちらの場合も、範囲は、ファイルの残りの部分とは関係なく、バックアップされる特定のファイルのサブセクションを示します。

要求者は 、IVssComponent::GetPartialFile を使用して部分的なファイル情報を取得し、 GetPartialFile によって返されるオフセットと長さの情報を使用して、バックアップされたセクションを復元時にディスク上のファイルのコピー内の適切な場所に復元できます。

AddPartialFile は、コンポーネントによって既に管理されているファイル (またはコンポーネントがコンポーネント セットを定義している場合はそのサブコンポーネントの 1 つ) に適用することも、コンポーネントに新しいファイルを追加して、部分的なファイル操作に参加することを示すことができます。

参加するファイルが新しいファイルであることを示す場合、そのファイルはシャドウ コピーされたボリューム上に存在する必要があり、そのパス (wszPath) はコンポーネントに既に存在するパス (またはコンポーネントがコンポーネント セットを定義している場合はサブコンポーネントの 1 つ) と一致するか、パスの下にある必要があります。 ただし、ファイルのファイル仕様 (wszFileSpec) は、コンポーネント内のファイル仕様と一致しないようにしてください。

新しく追加されたファイルでは、代替の場所マッピングはサポートされません。

要件

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

こちらもご覧ください

IVssBackupComponents::SetRangesFilePath

IVssComponent

IVssComponent::GetPartialFile

IVssComponent::GetPartialFileCount