IVssCreateWriterMetadata::AddComponent メソッド (vswriter.h)

AddComponent メソッドは、バックアップするコンポーネントとしてデータベースまたはファイル グループを追加します。

構文

HRESULT AddComponent(
  [in] VSS_COMPONENT_TYPE ct,
  [in] LPCWSTR            wszLogicalPath,
  [in] LPCWSTR            wszComponentName,
  [in] LPCWSTR            wszCaption,
  [in] const BYTE         *pbIcon,
  [in] UINT               cbIcon,
  [in] bool               bRestoreMetadata,
  [in] bool               bNotifyOnBackupComplete,
  [in] bool               bSelectable,
  [in] bool               bSelectableForRestore,
  [in] DWORD              dwComponentFlags
);

パラメーター

[in] ct

コンポーネント 型を指定するVSS_COMPONENT_TYPE列挙値。

Windows Server 2003 および Windows XP: SP1 を使用する Windows Server 2003 より前の場合、このパラメーターはシステム用に予約されており、呼び出し元は既定値をオーバーライドしないでください。

[in] wszLogicalPath

データベースまたはファイル グループの論理パスを含む null で終わるワイド文字列へのポインター。 詳細については、「 コンポーネントの論理パス」を参照してください。

論理パスは省略可能であり、 NULL にすることができます

[in] wszComponentName

コンポーネントの名前を含む null で終わるワイド文字列へのポインター。 この文字列はローカライズされていません。

このパラメーターは必須であり、 NULL にすることはできません。 文字列に円記号を含めることはできません。

[in] wszCaption

コンポーネントの説明 ("フレンドリ名" とも呼ばれます) を含む null で終わるワイド文字列へのポインター。 この文字列はローカライズされる可能性があるため、要求者はローカライズされていると想定する必要があります。

このパラメーターは省略可能であり、 NULL にすることができます。 文字列には円記号を含めることができます。

[in] pbIcon

ユーザー インターフェイスに表示される、データベースを表すアイコンのビットマップへのポインター。 バッファーのサイズ (バイト単位) は cbIcon パラメーターで指定します。

ライターがアイコンを指定しない場合は、 pbIconNULL に設定する必要があります。

[in] cbIcon

バッファーのサイズ (バイト数)。 pbIcon パラメーターが NULL の場合、cbIcon は 0 にする必要があります。

[in] bRestoreMetadata

このパラメーターは将来使用するために予約されており、常に false に設定する必要があります。

[in] bNotifyOnBackupComplete

このパラメーターは将来使用するために予約されており、常に false に設定する必要があります。

[in] bSelectable

必要に応じてコンポーネントをバックアップできるか (つまり、バックアップから除外できる) か、ライターのコンポーネントがバックアップされたときに常にバックアップされるかを示すブール値。 コンポーネントを選択的にバックアップできる場合はブール値は true 、いずれかのコンポーネントがバックアップされるときにバックアップされる場合は false です。

[in] bSelectableForRestore

バックアップ ドキュメントに 明示的に含 まれていない場合に、コンポーネントを個別に復元できるかどうかを決定するブール値。 コンポーネントがバックアップ ドキュメントに明示的に追加された場合は、復元のためにいつでも個別に選択できます。この場合、このフラグは意味がありません。

true の場合、コンポーネントはそれ自体で復元できます。false の場合、コンポーネント セット全体が復元されている場合にのみ、コンポーネントを復元できます。 (詳細については、「 VSS_COMPONENTINFO選択可能パスと論理パスの操作 」を参照してください)。

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

[in] dwComponentFlags

このコンポーネントがサポートする機能を示す VSS_COMPONENT_FLAGS 列挙体のメンバーのビット マスク (またはビットごとの OR)。

この引数の既定値は 0 です。

戻り値

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

意味
S_OK
操作に成功しました。
E_INVALIDARG
パラメーター値の 1 つが無効です。
E_OUTOFMEMORY
呼び出し元がメモリやその他のシステム リソースを使い切れている。
VSS_E_INVALID_XML_DOCUMENT
XML ドキュメントが無効です。 詳細については、イベント ログを確認してください。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。
VSS_E_OBJECT_ALREADY_EXISTS
オブジェクトが重複しています。 同じ論理パスとコンポーネント名を持つコンポーネントが既に存在します。
VSS_E_UNEXPECTED
予期しないエラー。 エラー コードは、エラー ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。

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

注釈

このメソッドを複数回呼び出して、ライターのメタデータに複数のコンポーネントを追加できます。

特定のライター クラスの特定のインスタンスの各コンポーネントの論理パスと名前の組み合わせは一意である必要があります。 wszLogicalPathwszComponentName の値が同じ AddComponent を 2 回呼び出そうとすると、VSS_E_OBJECT_ALREADY_EXISTS エラーが発生します。

AddComponent を使用すると、すべてのメンバー ファイルがグループとしてバックアップされますが、個別に復元できるファイルを含むコンポーネントであるサブコンポーネントを追加できます。 詳細については、「 復元とサブコンポーネントの選択性の使用 」を参照してください。

要件

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

こちらもご覧ください

IVssCreateWriterMetadata