IVssHardwareSnapshotProvider::GetTargetLuns 方法 (vsprov.h)
GetTargetLuns方法會提示硬體提供者初始化新建立陰影複製 LUN的VDS_LUN_INFORMATION結構。 GetTargetLuns方法會在IVssProviderCreateSnapshotSet::P ostCommitSnapshots方法之後呼叫。 透過 VDS_LUN_INFORMATION 結構,識別每個新建立 LUN 的資訊都會傳回至 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陣列的專案之間應該有一對一的對應。
傳回值
這個方法可以傳回其中一個值。
傳回碼/值 | 描述 |
---|---|
|
作業已順利完成。 |
|
記憶體不足或其他系統資源。 |
|
其中一個參數值無效。 |
|
發生非預期的提供者錯誤。 提供者必須在應用程式事件記錄檔中報告事件,為使用者提供如何解決問題的資訊。 |
備註
在 rgDestinationLuns 參數中,VSS 會為每個新建立的陰影複製 LUN 提供空 的VDS_LUN_INFORMATION 結構。 陰影複製 LUN 不會呈現或顯示給系統。 提供者應該使用適當的 SCSI 查詢資料和重要產品資料頁面 80 (裝置序號,) 和第 83 頁 (裝置身分識別) 資訊,初始化 VDS_LUN_INFORMATION 結構的成員。 結構應該包含正確的成員值,讓陰影複製 LUN 可由 Windows 從原始電腦或其他連線到 SAN 的電腦找到。
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 方法中的提供者。
規格需求
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | vsprov.h |