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 パラメーターで指定します。
ライターがアイコンを指定しない場合は、 pbIcon を NULL に設定する必要があります。
[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 です。
戻り値
このメソッドの有効なリターン コードを次に示します。
値 | 意味 |
---|---|
|
操作に成功しました。 |
|
パラメーター値の 1 つが無効です。 |
|
呼び出し元がメモリやその他のシステム リソースを使い切れている。 |
|
XML ドキュメントが無効です。 詳細については、イベント ログを確認してください。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。 |
|
オブジェクトが重複しています。 同じ論理パスとコンポーネント名を持つコンポーネントが既に存在します。 |
|
予期しないエラー。 エラー コードは、エラー ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は、Windows Server 2008 R2 と Windows 7 まではサポートされません。 代わりに E_UNEXPECTED が使用されます。 |
注釈
このメソッドを複数回呼び出して、ライターのメタデータに複数のコンポーネントを追加できます。
特定のライター クラスの特定のインスタンスの各コンポーネントの論理パスと名前の組み合わせは一意である必要があります。 wszLogicalPath と wszComponentName の値が同じ AddComponent を 2 回呼び出そうとすると、VSS_E_OBJECT_ALREADY_EXISTS エラーが発生します。
AddComponent を使用すると、すべてのメンバー ファイルがグループとしてバックアップされますが、個別に復元できるファイルを含むコンポーネントであるサブコンポーネントを追加できます。 詳細については、「 復元とサブコンポーネントの選択性の使用 」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | vswriter.h (Vss.h、VsWriter.h を含む) |
Library | VssApi.lib |