次の方法で共有


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

FillInLunInfo メソッドは、対応するディスク デバイスをサポートしているかどうかを示し、VDS_LUN_INFORMATION構造の省略を修正するようにハードウェア プロバイダーに求めます。 VSS は、IVssHardwareSnapshotProvider::Locate Luns メソッドの後、または IVssHardwareSnapshotProvider::On LunEmpty メソッドの前に FillIn LunInfo メソッドを呼び出して、シャドウ コピー LUN に関連付けられているVDS_LUN_INFORMATION構造を取得します。 VSS は、IVssHardwareSnapshotProvider::GetTarget Luns メソッドで受信したVDS_LUN_INFORMATION構造を比較して、シャドウ コピー LUN を識別します。 構造体が一致しない場合、リクエスターは不一致を示す VSS_S_SOME_SNAPSHOTS_NOT_IMPORTEDを受け取ります。

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

構文

HRESULT FillInLunInfo(
  [in]      VSS_PWSZ            wszDeviceName,
  [in, out] VDS_LUN_INFORMATION *pLunInfo,
  [out]     BOOL                *pbIsSupported
);

パラメーター

[in] wszDeviceName

シャドウ コピー LUN に対応するデバイス。

[in, out] pLunInfo

シャドウ コピー LUN の VDS_LUN_INFORMATION 構造。

[out] pbIsSupported

プロバイダーは、デバイスがサポートされている場合、pbIsSupported パラメーターが指す場所で TRUE を返す必要があります。

戻り値

VSS は、このメソッドの戻り値を無視します。

Windows Server 2003: VSS は戻り値を無視しません。次のいずれかの値を指定できます。

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

注釈

VSS は、プロバイダーが GetTargetLuns メソッドで以前に初期化したVDS_LUN_INFORMATION構造体ごとに FillInLunInfo メソッドを呼び出します。 VSS は、インポート プロセス中にシステムに到着する新しいディスク デバイスごとに FillInLunInfo メソッドも呼び出します。

プロバイダーは、pLunInfo パラメーターで受け取ったVDS_LUN_INFORMATION構造体の省略を修正できます。 ただし、プロバイダーは、この構造体の m_rgInterconnects メンバーの値を変更しないでください。

VDS_LUN_INFORMATION構造体のメンバーは、SCSI 照会データと重要な製品データ ページ 80 (デバイスのシリアル番号) 情報に対応しますが、次の例外があります。

  • m_version メンバーは、VER_VDS_LUN_INFORMATIONに設定する必要があります。
  • インポート中の比較では、 m_BusType メンバーは無視されます。 この値は、対応するディスク デバイス上の PnP ストレージ スタックによって異なります。 通常、これは VDSBusTypeScsi です
  • インポート中の比較では、 m_diskSignature メンバーは無視されます。 プロバイダーは、このメンバーを GUID_NULL に設定する必要があります。
VDS_STORAGE_DEVICE_ID_DESCRIPTOR構造体のメンバー (VDS_LUN_INFORMATION構造体のm_deviceIdDescriptor メンバー内) は、ページ 83 の情報に対応します。 この構造体では、各 VDS_STORAGE_IDENTIFIER 構造体は、デバイス識別子 (つまり、関連付けの種類が 0 のストレージ識別子) のSTORAGE_IDENTIFIER構造体に対応します。 STORAGE_IDENTIFIER構造の詳細については、Windows Driver Kit (WDK) のドキュメントを参照してください。

プロバイダーが不明な LUN に対して FillIn LunInfo メソッドを呼び出した場合、プロバイダーはエラーを返しません。 代わりに、pbIsSupported パラメーターが指す BOOL 値に FALSE を返し、成功を返す必要があります。 プロバイダーが LUN を認識する場合は、 BOOL 値を TRUE に設定する必要があります。

要件

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

こちらもご覧ください

AreLunsSupported

GetTargetLuns

IVssHardwareSnapshotProvider

LocateLuns

OnLunEmpty

VDS_LUN_INFORMATION

VDS_STORAGE_IDENTIFIER