IVssBackupComponents::AddToSnapshotSet メソッド (vsbackup.h)
AddToSnapshotSet メソッドは、元のボリュームまたは元のリモート ファイル共有をシャドウ コピー セットに追加します。
構文
HRESULT AddToSnapshotSet(
[in] VSS_PWSZ pwszVolumeName,
[in] VSS_ID ProviderId,
[out] VSS_ID *pidSnapshot
);
パラメーター
[in] pwszVolumeName
ボリュームの名前またはシャドウ コピーするリモート ファイル共有の UNC パスを含む Null で終わるワイド文字列。 名前または UNC パスは、次のいずれかの形式で指定し、末尾に円記号 (\) を含める必要があります。
- マウントされたフォルダーのパス (Y:\MountX\ など)
- ドライブ文字 (D:\ など)
- \\?\Volume{GUID}\ という形式のボリューム GUID パス ( GUID はボリュームを識別します)
- リモート ファイル共有を指定する UNC パス (\\Clusterx\Share1\ など)
[in] ProviderId
使用するプロバイダー。 GUID_NULLを使用できます。この場合、既定のプロバイダーが使用されます。
[out] pidSnapshot
追加されたシャドウ コピーの識別子が返されました。
戻り値
このメソッドの有効なリターン コードを次に示します。
値 | 意味 |
---|---|
|
シャドウ コピー セットにボリュームまたはリモート ファイル共有が正常に追加されました。 |
|
呼び出し元に十分なバックアップ特権がないか、管理者ではありません。 |
|
パラメーター値の 1 つが無効です。 |
|
呼び出し元がメモリやその他のシステム リソースを使い切れている。 |
|
バックアップ コンポーネント オブジェクトが初期化されていないか、復元操作中にこのメソッドが呼び出されたか、このメソッドが正しいシーケンス内で呼び出されていません。 |
|
シャドウ コピー セットに追加されたボリュームまたはリモート ファイル共有の最大数。 指定されたボリュームまたはリモート ファイル共有がシャドウ コピー セットに追加されませんでした。 |
|
ボリュームまたはリモート ファイル共有がシャドウ コピー セットの最大数に追加されました。 指定されたボリュームまたはリモート ファイル共有がシャドウ コピー セットに追加されませんでした。 |
|
指定されたボリュームが深すぎて VSS 操作に参加できません。 このエラーの原因として考えられるのは、次のとおりです。
|
|
pwszVolumeName は、既存のボリュームまたはリモート ファイル共有に対応していません。 |
|
ProviderId は、登録済みプロバイダーに対応していません。 |
|
プロバイダー エラーが予想されます。 プロバイダーがイベント ログにエラーを記録しました。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。 |
|
もう 1 つのシャドウ コピーの作成は既に進行中です。 CSV ボリュームを複数のノードからスナップショット セットに同時に追加するとき、または複数の SMB クライアント ノードからスナップショット セットにスケールアウト共有を同時に追加するときに発生します。 |
|
ProviderId パラメーターの値はGUID_NULLであり、指定されたボリュームまたはリモート ファイル共有をサポートしていることを示す VSS プロバイダーはありません。 |
|
ボリュームまたはリモート ファイル共有は、指定されたプロバイダーではサポートされていません。 |
|
予期しないエラー。 エラー コードは、エラー ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は、Windows Server 2008 R2 と Windows 7 まではサポートされません。 代わりに E_UNEXPECTED が使用されます。 |
|
プロバイダーから予期しないエラー コードが返されました。 このエラー コードは、ppAsync パラメーターで返される IVssAsync インターフェイスの QueryStatus メソッドを介してのみ返されます。 |
注釈
Windows 7、Windows Server 2008 R2、Windows Vista、Windows Server 2008、Windows XP、Windows Server 2003: リモート ファイル共有は、Windows 8してWindows Server 2012するまでサポートされません。
pwszVolumeName が UNC 共有パスの場合、サーバー名の部分はホスト名または完全修飾ドメイン名形式である必要があります。 IP アドレスを持つ UNC 共有名は、AddToSnapshotSet に渡される前に IVssBackupComponentsEx4::GetRootAndLogicalPrefixPaths メソッドを呼び出して正規化する必要があります。
1 つのシャドウ コピー セットでシャドウ コピーされるボリュームの最大数は 64 です。
ProviderId がGUID_NULL場合は、次のアルゴリズムに従って既定のプロバイダーが選択されます。
- ハードウェア プロバイダーが特定のボリュームまたはリモート ファイル共有をサポートしている場合は、そのプロバイダーが選択されます。
- 使用可能なハードウェア プロバイダーがない場合、ソフトウェア プロバイダーが特定のボリュームをサポートしている場合は、そのプロバイダーが選択されます。
- 使用可能なハードウェア プロバイダーまたはソフトウェア プロバイダーがない場合は、システム プロバイダーが選択されます。 (プレインストールされているシステム プロバイダーは 1 つだけで、すべての非移動可能なローカル ボリュームをサポートする必要があります)。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: VHD はサポートされていません。
pidSnapshot パラメーターで返されるシャドウ コピー識別子は、バックアップ コンポーネント ドキュメントに格納されます。 ただし、この情報を照会する方法はなく、呼び出し元が復元中に使用できるように格納する必要がある場合があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | vsbackup.h (VsBackup.h、Vss.h、VsWriter.h を含む) |
Library | VssApi.lib |