GetTargetLuns 方法會提示硬體提供者初始化新建立的影子複製 LUN 的 VDS_LUN_INFORMATION 結構。 GetTargetLuns 方法是在 IVssProviderCreateSnapshotSet::P ostCommitSnapshots 方法之後被呼叫的。 每個新建立的 LUN 的識別資訊會透過 VDS_LUN_INFORMATION 結構回傳至 VSS。
語法
HRESULT GetTargetLuns(
[in] LONG lLunCount,
[in] VSS_PWSZ *rgDeviceNames,
[in] VDS_LUN_INFORMATION *rgSourceLuns,
[in, out] VDS_LUN_INFORMATION *rgDestinationLuns
);
參數
[in] lLunCount
計算對原始體積有貢獻的 LUN 數量。
[in] rgDeviceNames
指標指向一組 lLunCount 指標到字串。 每個字串都包含一個原始 LUN 的名稱,待影子複製。
[in] rgSourceLuns
指標指向一個 lLunCountVDS_LUN_INFORMATION 結構陣列,每個貢獻原始磁碟的 LUN 各一個。
[in, out] rgDestinationLuns
指標指向一組 lLunCountVDS_LUN_INFORMATION 結構陣列,每個在影子複製處理過程中產生的新影子複製 LUN 都對應一個。 rgSourceLuns 與 rgDestinationLuns 陣列的元素之間應該有一對一對應。
返回值
這個方法可以傳回其中一個值。
| 傳回碼/值 | Description |
|---|---|
|
手術順利完成。 |
|
記憶體或其他系統資源不足。 |
|
其中一個參數值不成立。 |
|
發生了意外的供應商錯誤。 提供者必須在應用程式事件日誌中回報事件,並提供使用者如何解決該問題的資訊。 |
備註
在 rgDestinationLuns 參數中,VSS 為每個新建立的影子副本 LUN 提供一個空的 VDS_LUN_INFORMATION 結構。 影子複製的 LUN 不會被系統呈現或可見。 提供者應以適當的 SCSI 詢問資料及重要產品資料(第 80 頁(裝置序號)及第 83 頁(裝置識別碼)資訊初始化 VDS_LUN_INFORMATION 結構的成員。 結構應包含正確的成員值,使 Windows 能從原始電腦或連接至 SAN 的其他電腦定位影子複製的 LUN。
VDS_LUN_INFORMATION結構的成員對應第80頁的資訊,但有以下例外:
- m_version成員必須設為VER_VDS_LUN_INFORMATION。
- m_BusType成員在進口時被忽略。 此值取決於對應磁碟裝置上的 PnP 儲存堆疊。 通常這會是 VDSBusTypeScsi。
- m_diskSignature成員在進口時被忽略。 提供者必須將此成員設為GUID_NULL。
此處回傳的 VDS_LUN_INFORMATION 結構必須與匯入時 IVssHardwareSnapshotProvider::FillInLunInfo 方法中提供的結構相同,這樣 VSS 才能利用這些資訊在匯入時識別新抵達的影子副本 LUN。 這些結構會以 IVssHardwareSnapshotProvider::LocateLuns 方法傳遞給提供者。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | 不支援 |
| 支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
| 目標平臺 | 窗戶 |
| Header | vsprov.h |