AreLunsSupported 方法決定硬體提供者是否支援對所有貢獻於卷的 LUN 建立影子複製。 VSS 會呼叫 AreLunsSupported 方法,針對每個加入影子複製集的磁碟區。 在呼叫此方法之前,VSS 會先確定對該磁碟區有貢獻的 LUN 位址。
對於特定磁碟區,每個 LUN 只能貢獻一次。 特定的 LUN 可能會同時參與多個磁碟區。
語法
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 |
|---|---|
|
手術順利完成。 |
|
記憶體或其他系統資源不足。 |
|
其中一個參數值不成立。 |
|
發生了意外的供應商錯誤。 提供者必須在應用程式事件日誌中回報事件,並提供使用者如何解決該問題的資訊。 |
備註
若硬體子系統支援 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 |