共用方式為


IVssHardwareSnapshotProvider::AreLunsSupported 方法(vsprov.h)

AreLunsSupported 方法決定硬體提供者是否支援對所有貢獻於卷的 LUN 建立影子複製。 VSS 會呼叫 AreLunsSupported 方法,針對每個加入影子複製集的磁碟區。 在呼叫此方法之前,VSS 會先確定對該磁碟區有貢獻的 LUN 位址。

對於特定磁碟區,每個 LUN 只能貢獻一次。 特定的 LUN 可能會同時參與多個磁碟區。

便條 硬體提供者僅支援 Windows Server 作業系統。
 

語法

HRESULT AreLunsSupported(
  [in]      LONG                lLunCount,
  [in]      LONG                lContext,
  [in]      VSS_PWSZ            *rgwszDevices,
  [in, out] VDS_LUN_INFORMATION *pLunInformation,
  [out]     BOOL                *pbIsSupported
);

參數

[in] lLunCount

這份影子副本卷中有多少個 LUN 的貢獻。

[in] lContext

目前影子複製集的影子複製上下文,由 _VSS_VOLUME_SNAPSHOT_ATTRIBUTES 枚舉的旗標位遮罩所枚舉。 若設定 VSS_VOLSNAP_ATTR_TRANSPORTABLE 旗標,影子複製集即可傳輸。

[in] rgwszDevices

對應 LUN 的裝置清單,該物件需影子複製。

[in, out] pLunInformation

lLunCountVDS_LUN_INFORMATION 結構陣列,每個 LUN 為此影子複製卷貢獻一個。

[out] pbIsSupported

指向 一個 BOOL 值。 如果所有裝置都支援影子複製,提供者應該在 pbIsSupported 指向的位置儲存一個真實值。

返回值

這個方法可以傳回其中一個值。

傳回碼/值 Description
S_OK
0x00000000L
手術順利完成。
E_OUTOFMEMORY
0x8007000EL
記憶體或其他系統資源不足。
E_INVALIDARG
0x80070057L
其中一個參數值不成立。
VSS_E_PROVIDER_VETO
0x80042306L
發生了意外的供應商錯誤。 提供者必須在應用程式事件日誌中回報事件,並提供使用者如何解決該問題的資訊。

備註

若硬體子系統支援 SCSI 查詢資料與重要產品資料第 80 頁(裝置序號)及第 83 頁(裝置識別)指引,提供者不應需要修改 pLunInformation 陣列中的結構。

無論如何,AreLunsSupported 方法不應修改 pLunInformation 陣列中任何 VDS_LUN_INFORMATION 結構的m_rgInterconnects成員值。

如果提供者支援對 pLunInformation 陣列中所有 LUN 建立硬體影子複製,則 pbIsSupported 參數指向的 BOOL 值應回傳 TRUE。 若提供者不支援一個或多個 LUN 的硬體影子複製,則必須將此 BOOL 值設為 FALSE。

提供者絕不能同意製作影子副本,即使問題只是暫時的。 若因暫態狀況(如資源不足)使提供者無法在呼叫 AreLunsSupported 時使用一個或多個 LUN 建立影子副本,提供者必須將 BOOL 值設為 FALSE。

需求

Requirement 價值觀
最低支援的用戶端 不支援
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
Header vsprov.h

另請參閱

IVssHardwareSnapshotProvider

VDS_LUN_INFORMATION

_VSS_VOLUME_SNAPSHOT_ATTRIBUTES