次の方法で共有


IVssHardwareSnapshotProvider::OnLunEmpty メソッド (vsprov.h)

On LunEmpty メソッドは、シャドウ コピー LUN に興味深いデータが含まれないと VSS が判断するたびに呼び出されます。 すべてのシャドウ コピーが削除されました (LUN も削除されます)。LUN リソースは、プロバイダーによって再利用され、別の目的で再利用される場合があります。 VSS は、影響を受けるボリュームのマウントを解除します。 OnLunEmpty 中にプロバイダーが再スキャンを発行しないようにする必要があります。 VSS はこのクリーンアップを処理します。

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

構文

HRESULT OnLunEmpty(
  [in] VSS_PWSZ            wszDeviceName,
  [in] VDS_LUN_INFORMATION *pInformation
);

パラメーター

[in] wszDeviceName

削除するシャドウ コピーを含む LUN に対応するデバイス。

[in] pInformation

削除 するシャドウ コピーを含む LUN に関する情報を含むVDS_LUN_INFORMATION構造体へのポインター。

戻り値

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

リターン コード/値 Description
S_OK
0x00000000L
操作が正常に完了しました。
E_OUTOFMEMORY
0x8007000EL
メモリ不足またはその他のシステム リソース。
E_INVALIDARG
0x80070057L
パラメーター値の 1 つが無効です。
VSS_E_PROVIDER_VETO
0x80042306L
予期しないプロバイダー エラーが発生しました。 プロバイダーは、問題を解決する方法に関する情報をユーザーに提供するアプリケーション イベント ログにイベントを報告する必要があります。

注釈

ハードウェア プロバイダーは、シャドウ コピーを削除し、場合にのみ LUN を再利用する必要があります
OnLunEmpty が呼び出されています。 ハードウェア シャドウ コピーをバックアップ メディア自体として使用できます。そのため、LUN は、ストレージ アレイが通常のディスクに使用される LUN を扱うのと同じ注意を払って処理する必要があります。 On LunEmpty の処理外で LUN を再利用するには、緊急または管理者が明示的なアクションを手動で実行するように制限する必要があります。

永続的なシャドウ コピーの場合、要求元は不要になったときにシャドウ コピーを削除します。 非永続自動リリース シャドウ コピーの場合、要求元が IVssBackupComponents オブジェクトで IUnknown::Release を呼び出すと、VSS サービスによってシャドウ コピーが削除されます。 非永続の自動解放シャドウ コピーの場合、VSS サービスは、コンピューターの再起動時にシャドウ コピーを削除します。 いずれの場合も、VSS サービスは、シャドウ コピー LUN ごとに必要に応じてプロバイダーの On LunEmpty メソッドを呼び出します。

OnLunEmpty はベスト エフォートベースで呼び出されることに注意してください。 VSS は、LUN が空であることが保証されている場合にのみ、 メソッドを呼び出します。 LUN が空であるが、エラーや外部の状況により VSS でこれを検出できない場合が多い場合があります。 この場合、ユーザーはこの状態をクリアするためにストレージ管理ソフトウェアを使用する必要があります。

次に例をいくつか示します。

  • シャドウ コピー LUN が別のホストに移動され、VSS 経由で実際に転送またはインポートされていない場合、その LUN は他の LUN として表示され、ボリュームは VSS の通知なしで削除できます。
  • シャドウ コピーの作成中にクラッシュまたは予期しない再起動が発生しました。
  • 取り消されたインポート。

要件

要件
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー vsprov.h

こちらもご覧ください

IVssHardwareSnapshotProvider