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 Server オペレーティング システムのバージョンでのみ実行されます。
[in] pwszProviderVersion
プロバイダーのバージョン。
[in] ProviderVersionId
このバージョンのプロバイダーを一意に識別する VSS_ID 。 pProviderId パラメーターと ProviderVersionId パラメーターの組み合わせは一意である必要があります。 ProviderVersionId パラメーターは、別のプロバイダーの ProviderVersionId パラメーターと同じにすることができます。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
| リターン コード | Description |
|---|---|
|
プロバイダーが正常に登録されました。 |
|
1 つ以上のパラメーター値が無効です。 たとえば、 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 メソッドを 呼び出して更新されたプロバイダーを登録する必要があります。
Requirements
| Requirement | 価値 |
|---|---|
| サポートされる最小クライアント | Windows Vista [デスクトップ アプリのみ] |
| サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ] |
| ターゲット プラットフォーム の | ウィンドウズ |
| Header | vsadmin.h |