VSS_COMPONENTINFO 構造体 (vsbackup.h)
VSS_COMPONENTINFO構造体には、特定のコンポーネントに関する情報が含まれており、IVssWMComponent インターフェイスによって要求者に返されます。
構文
typedef struct _VSS_COMPONENTINFO {
VSS_COMPONENT_TYPE type;
BSTR bstrLogicalPath;
BSTR bstrComponentName;
BSTR bstrCaption;
BYTE *pbIcon;
UINT cbIcon;
bool bRestoreMetadata;
bool bNotifyOnBackupComplete;
bool bSelectable;
bool bSelectableForRestore;
DWORD dwComponentFlags;
UINT cFileCount;
UINT cDatabases;
UINT cLogFiles;
UINT cDependencies;
} VSS_COMPONENTINFO;
メンバー
type
コンポーネントの種類。 「VSS_COMPONENT_TYPE」を参照してください。
bstrLogicalPath
コンポーネントの論理パスを含む文字列。
論理パスには NULL を指定できます。
NULL 以外の論理パスに出現できる文字に制限はありません。
bstrComponentName
コンポーネントの名前を表す文字列です。 コンポーネント名の文字列を NULL にすることはできません。
bstrCaption
コンポーネントの説明を含む文字列。 キャプション文字列には NULL を指定できます。
pbIcon
コンポーネントを表す表示可能なアイコンのバイナリ データを含むバッファーへのポインター。 バッファーの内容は、標準アイコン (.ico) ファイルと同じ形式を使用する必要があります。 バッファーのサイズ (バイト単位) は cbIcon で指定します。
コンポーネントを作成したライターがアイコンの指定を選択しなかった場合、 pbIcon は NULL になります。
cbIcon
コンポーネントを表す表示可能アイコン (pbIcon) のサイズ (バイト単位)。 pbIcon が NULL の場合、cbIcon は 0 にする必要があります。
bRestoreMetadata
コンポーネントの復元に関連付けられているプライベート メタデータがあるかどうかを示すブール値。 メタデータがある場合はブール値が true 、存在しない場合は false です。
ライターは、コンポーネントが IVssCreateWriterMetadata::AddComponent で追加されたときに、この値を設定することで、コンポーネントがプライベート メタデータをサポートするかどうかを示します。 ライターは、後で IVssComponent::SetRestoreMetadata を使用して復元メタデータを追加します。 要求者は 、IVssComponent::GetRestoreMetadata を使用して情報を取得します。
bNotifyOnBackupComplete
将来利用するために予約されています。 このパラメーターの値は常に false に設定する必要があります。
bSelectable
コンポーネントがバックアップに選択可能かどうかを示す (コンポーネント モード操作の場合) ブール値。 bSelectable の値は、リクエスターがバックアップ操作に特定のコンポーネントを含めるか除外するかを決定するのに役立ちます。 コンポーネントがバックアップに対して選択可能な場合はブール値が true 、そうでない場合は false です。
コンポーネントのバックアップの選択性に既定値はありません。 ライターは、 IVssCreateWriterMetadata::AddComponent を使用してライター メタデータ ドキュメントにコンポーネントを追加するときに、常に値を明示的に設定する必要があります。
さらに、 bSelectable の値、コンポーネントの論理パス、およびそのパスで表されている他のコンポーネントとのコンポーネントの関係によって、コンポーネントがバックアップ操作に含まれるタイミングと方法が決まります。
- 論理パスの階層内のバックアップ先祖に対して選択できないバックアップ コンポーネント (bSelectable は false) の場合、バックアップ セットに含めることは常に必須であり、常に暗黙的です。 リクエスターは、 IVssBackupComponents::AddComponent を使用して、バックアップ コンポーネント ドキュメントのバックアップ セットにコンポーネントを明示的に追加します。
- 論理パスの階層内のバックアップ先祖に対して選択可能なバックアップ コンポーネント (bSelectable は true) の場合、バックアップ セットに含めることは常に省略可能であり、常に明示的です。
リクエスターは、 IVssBackupComponents::AddComponent を使用して、バックアップ コンポーネント ドキュメントのバックアップ セットにコンポーネントを明示的に追加します。
このようなコンポーネントが他のコンポーネントの論理パスに先祖として含まれている場合、バックアップに選択可能なものと選択できないコンポーネントの両方が、これらの他のコンポーネントを含むコンポーネント セットをサブコンポーネントとして定義します。 バックアップ コンポーネントの選択可能な コンポーネントが明示的にバックアップに含まれている場合、これらのサブコンポーネントは暗黙的にバックアップに含まれます。
- 論理パスの階層内でバックアップ先祖に選択可能な (したがって、その先祖によって定義されたコンポーネント セットの一部である) バックアップ コンポーネント (bSelectable は false) の場合、バックアップ セットへの包含は常に暗黙的であり、バックアップ先祖に選択可能なを含めることに依存します。 リクエスターは、バックアップ コンポーネント ドキュメントのバックアップ セットにコンポーネントを明示的に追加することはありません。代わりに、 IVssBackupComponents::AddComponent を使用して、バックアップ先祖の選択可能な をドキュメントに追加します。
- バックアップ コンポーネントの選択可能 (bSelectable は true) の場合、論理パスの階層内のバックアップ先祖に対して選択可能 (したがって、その先祖によって定義されたコンポーネント セットの一部) では、バックアップ セットに含めるオプションと明示的のいずれかを指定できます。または、コンポーネントが明示的に選択されていない場合は、その包含が暗黙的であり、バックアップ先祖に選択可能なが含まれることがあります。
コンポーネントが明示的に含まれている場合、リクエスターは、 IVssBackupComponents::AddComponent を使用して、バックアップ コンポーネント ドキュメントのバックアップ セットにコンポーネントを明示的に追加します。
包含が暗黙的な場合、リクエスターはこれらのコンポーネントをバックアップ コンポーネント ドキュメントのバックアップ セットに追加しません。
コンポーネントの包含が明示的で、コンポーネントがコンポーネント セットを定義している場合、そのコンポーネント セットのメンバーが暗黙的に選択されます。
ライターは、IVssCreateWriterMetadata::AddComponent を使用してライター メタデータ ドキュメントにコンポーネントを追加するときに、コンポーネントのバックアップの選択性 (bSelectable) を設定します。
詳細については、「 選択可能性と論理パスの操作 」を参照してください。
bSelectableForRestore
コンポーネントが復元可能かどうかを示す (コンポーネント モード操作の場合) ブール値。 bSelectableForRestore を使用すると、以前にバックアップに暗黙的に含まれていた場合に、このコンポーネントを復元用 に個別に 選択できるかどうかを要求者が判断できます。 コンポーネントが復元可能な場合はブール値が true 、そうでない場合は false です。
既定では、コンポーネントの復元の選択可能性は false です。 ライターは、 IVssCreateWriterMetadata::AddComponent を使用してコンポーネントをライター メタデータ ドキュメントに追加するときに、この既定値をオーバーライドできます。
コンポーネントがバックアップ ドキュメントに明示的に追加されている場合 ( 「明示的なコンポーネントの包含」を参照)、復元用にいつでも個別に選択できます。そのため、このフラグには意味がありません。 コンポーネントがバックアップ ドキュメントに暗黙的に追加された場合、 bSelectableForRestore フラグは 、IVssBackupComponents::AddRestoreSubcomponent を使用してコンポーネントを個別に復元できるかどうかを決定します。
詳細については、「 選択可能性と論理パスの操作 」を参照してください。
dwComponentFlags
このコンポーネントがサポートする機能を示す 、VSS_COMPONENT_FLAGS 列挙の値のビット マスク (またはビットごとの OR)。
Windows Server 2003 および Windows XP: SP1 を使用する Windows Server 2003 より前の場合、このメンバーはシステムで使用するために予約されています。
cFileCount
コンポーネントがファイル グループの場合は、グループ内のファイルのファイル記述子の数。 それ以外の場合、この値は 0 です。
cDatabases
コンポーネントがデータベースの場合は、データベース ファイル記述子の数。 それ以外の場合、この値は 0 です。
cLogFiles
コンポーネントがデータベースの場合は、データベース ログ ファイル記述子の数。 それ以外の場合、このパラメーターの値は 0 です。
cDependencies
現在のコンポーネントの明示的なライター コンポーネント依存関係の数。 この値は、ライターによって IVssCreateWriterMetadata::AddComponentDependency が呼び出されたときにインクリメントされます。
注釈
特定のコンポーネントVSS_COMPONENTINFOオブジェクトを取得するには、最初に IVssExamineWriterMetadata::GetComponent を呼び出して、対応する IVssWMComponent オブジェクトを取得する必要があります。 IVssWMComponent::GetComponentInfo の呼び出しは、VSS_COMPONENTINFO構造体を割り当てて返します。
VSS_COMPONENTINFOは IVssWMComponent::GetComponentInfo によって割り当てられ、返されるため、リクエスターはVSS_COMPONENTINFO オブジェクトを直接解放しないでくださいが、IVssWMComponent::FreeComponentInfo を使用する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | vsbackup.h (VsBackup.h、Vss.h、VsWriter.h を含む) |
こちらもご覧ください
IVssCreateWriterMetadata::AddComponent
IVssExamineWriterMetadata::GetComponent
IVssWMComponent::FreeComponentInfo