次の方法で共有


IVssHardwareSnapshotProviderEx::ResyncLuns メソッド (vsprov.h)

VSS サービスは、このメソッドを呼び出して、LUN の再同期が必要であることをハードウェア プロバイダーに通知します。

ハードウェア プロバイダーは、Windows Server オペレーティング システムでのみサポートされています。

 

構文

HRESULT ResyncLuns(
  [in]  VDS_LUN_INFORMATION *pSourceLuns,
  [in]  VDS_LUN_INFORMATION *pTargetLuns,
  [in]  DWORD               dwCount,
  [out] IVssAsync           **ppAsync
);

パラメーター

[in] pSourceLuns

dwCountVDS_LUN_INFORMATION 構造体 配列へのポインター。シャドウ コピー ボリュームに影響を与える LUN ごとに 1 つ。

[in] pTargetLuns

dwCountVDS_LUN_INFORMATION 構造体 配列へのポインター。シャドウ コピー ボリュームの内容がコピーされる宛先ボリュームに関係する LUN ごとに 1 つ。

[in] dwCount

pSourceLuns 配列内の要素の数。 これは、pTargetLuns 配列内の要素の数でもあります。

[out] ppAsync

再同期操作の状態を取得するために使用できる IVssAsync インターフェイス ポインターを受け取る場所へのポインター。 操作が完了したら、呼び出し元は、IUnknown::Release メソッドを呼び出して、インターフェイス ポインターを解放する必要があります。

戻り値

このメソッドは、これらの値のいずれかを返すことができます。

戻りコード/値 形容
S_OK
0x00000000L
操作が正常に完了しました。
E_OUTOFMEMORY
0x8007000EL
メモリ不足またはその他のシステム リソース。
VSS_E_PROVIDER_VETO
0x80042306L
予期しないプロバイダー エラーが発生しました。 このエラー コードが返された場合は、エラーをアプリケーション イベント ログのエントリに記述して、問題の解決方法に関する情報をユーザーに提供する必要があります。
VSS_E_INSUFFICIENT_STORAGE
0x8004231FL
十分なディスク領域がないため、プロバイダーは操作を実行できません。

備考

宛先 LUN には、シャドウ コピーの作成元の元の実稼働ボリュームに影響する LUN、または運用環境から削除された元のボリュームを置き換えるために使用される新規または既存の LUN を指定できます。

プロバイダーは、ホスト レベルではなく LUN 配列レベルでデータをコピーすることで、再同期を実行する必要があります。 つまり、ソース LUN の内容を宛先 LUN にコピーするだけでは、プロバイダーは LUN の再同期を実装できません。 LUN の再同期を実行するために必要な I/O は、ホスト コンピューターではなく、再同期された LUN のディスク デバイスを介してハードウェアで実行する必要があります。 この I/O は、ホスト コンピューターに対して完全に透過的である必要があります。

再同期が完了すると、LUN は完全に機能し、I/O 操作に使用できます。

基になるディスク ハードウェアは、一意のページ 83 デバイス識別子をサポートする必要があります。

宛先 LUN がソース LUN よりも大きい場合、再同期後にソース LUN と一致するように、必要に応じて、プロバイダーは宛先 LUN のサイズを変更する必要があります。

このメソッドは WinPE では呼び出すことができません。また、セーフ モードでは呼び出すことができません。 このメソッドを呼び出す前に、呼び出し元は IVssBackupComponents::InitializeForRestore メソッドを使用して再同期を準備する必要があります。

必要条件

要件 価値
サポートされる最小クライアント サポートされていません
サポートされる最小サーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー vsprov.h

関連項目

IVssHardwareSnapshotProviderEx の