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

Locate Luns メソッドは、シャドウ コピー LUN をコンピューターに表示するようにハードウェア プロバイダーに求めます。 LocateLuns メソッドは、ハードウェア シャドウ コピー セットがコンピューターにインポートされるときに VSS によって呼び出されます。 プロバイダーは、ハードウェア レベルでのマスク解除 (または "表面化") を担当します。

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

構文

HRESULT LocateLuns(
  [in] LONG                lLunCount,
  [in] VDS_LUN_INFORMATION *rgSourceLuns
);

パラメーター

[in] lLunCount

このシャドウ コピー セットに寄与する LUN の数。

[in] rgSourceLuns

i LunCountVDS_LUN_INFORMATION構造体の配列へのポインター。インポートするシャドウ コピー セットの一部である LUN ごとに 1 つ。

戻り値

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

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

注釈

rgSourceLuns パラメーターでは、VSS は、プロバイダーが以前に IVssHardwareSnapshotProvider::GetTargetLuns メソッドで初期化したのと同じVDS_LUN_INFORMATION構造体の配列を提供します。 配列 内のVDS_LUN_INFORMATION 構造ごとに、プロバイダーは対応するシャドウ コピー LUN をコンピューターにマスク解除 (または "surface") する必要があります。

このメソッドが戻った直後に、VSS は再スキャンと列挙を実行して、到着したデバイスを検出します。 これにより、公開された LUN が PnP マネージャーによって検出されます。 ディスク到着のリッスンと並行して、VSS は非表示のボリューム到着もリッスンします。 シャドウ コピー セットに寄与するすべてのボリュームがシステムに表示されるか、タイムアウトが発生した後、VSS はリッスンを停止します。 一部のディスクまたはボリューム デバイスがこのウィンドウに表示されない場合、要求元は、VSS が要求元に VSS_S_SOME_SNAPSHOTS_NOT_IMPORTED を返すことによって、シャドウ コピーの一部のみがインポートされたことを示します。 また、GetTargetLuns メソッドと IVssHardwareSnapshotProvider::FillInLunInfo メソッドから受信したVDS_LUN_INFORMATION構造体が一致しない場合、要求元は VSS から同じエラーを受け取ります。

このメソッドは、シャドウ コピー LUN を読み取り専用としてマップするために使用できません。

要件

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

こちらもご覧ください

AreLunsSupported

FillInLunInfo

GetTargetLuns

IVssHardwareSnapshotProvider

VDS_LUN_INFORMATION