RegisterProvider 方法會註冊一個新的影子複製提供者。
語法
HRESULT RegisterProvider(
[in] VSS_ID pProviderId,
[in] CLSID ClassId,
[in] VSS_PWSZ pwszProviderName,
[in] VSS_PROVIDER_TYPE eProviderType,
[in] VSS_PWSZ pwszProviderVersion,
[in] VSS_ID ProviderVersionId
);
參數
[in] pProviderId
VSS_ID唯一且持續地識別提供者。 定義完成後, ProviderID 參數應保持不變,即使軟體版本更新。 只有當功能變化足夠大,使得兩個提供者在同一系統上同時活躍時, ProviderId 參數才應該被更改。 請求者可以使用 ProviderId 參數,請求在影子複製建立時使用特定的提供者。
[in] ClassId
提供者的CLSID資料。
[in] pwszProviderName
提供者的名稱。
[in] eProviderType
一個 VSS_PROVIDER_TYPE 列舉值,用以指定提供者類型。 請注意, VSS_PROV_HARDWARE 並非 Windows 用戶端作業系統版本中的有效提供者類型。 硬體供應商只能在 Windows 伺服器作業系統版本上運行。
[in] pwszProviderVersion
提供者的版本。
[in] ProviderVersionId
VSS_ID唯一識別此版本的提供者。 pProviderId 與 ProviderVersionId 參數的組合應該是唯一的。 ProviderVersionId 參數可以與其他提供者的 ProviderVersionId 參數相同。
返回值
這個方法可以傳回其中一個值。
| 回傳碼 | Description |
|---|---|
|
該提供者已成功註冊。 |
|
其中一個或多個參數值並不有效。 例如, VSS_PROV_HARDWARE 在 Windows 用戶端作業系統版本中並非有效的提供者類型。 |
|
記憶體或其他系統資源不足。 |
|
來電者並非管理員。 |
|
該服務提供者已經在這台電腦上註冊。 |
|
非預期的錯誤。 錯誤代碼會被記錄在錯誤日誌檔案中。 欲了解更多資訊,請參閱 VSS下的事件與錯誤處理。
Windows Server 2008、Windows Vista、Windows Server 2003 及 Windows XP: 此數值直到 Windows Server 2008 R2 和 Windows 7 才被支援。 E_UNEXPECTED 會被取代。 |
備註
若硬體提供者已更新,設定應用程式應呼叫 UnregisterProvider 方法來取消註冊舊版本,然後再呼叫 RegisterProvider 方法來註冊更新後的提供者。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
| 支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
| 目標平臺 | 窗戶 |
| Header | VSadmin.h |