3.1.1.4.1 GetProviderMgmtInterface (Opnum 3)

The GetProviderMgmtInterface method retrieves the IVssDifferentialSoftwareSnapshotMgmt interface.

 HRESULT GetProviderMgmtInterface(
   [in] VSS_ID ProviderId,
   [in] REFIID InterfaceId,
   [out, iid_is(InterfaceId)] IUnknown** ppItf
 );

ProviderId: MUST be set to the shadow copy provider UUID in Standards Assignments (section 1.9).

InterfaceId: MUST be set to the UUID for the IVssDifferentialSoftwareSnapshotMgmt interface in Standards Assignments (section 1.9).

ppItf: A pointer to an IUnknown pointer that upon completion contains a pointer to an instance of the interface object that is specified by InterfaceId. A caller MUST release the ppItf that is received when the caller is done with it.

Return Values: The method MUST return the following error code for the specific conditions.

Return value/code

Description

0x80042304

VSS_E_PROVIDER_NOT_REGISTERED

Returned when the provider with ID ProviderId does not exist on the server.

0x80070057

E_INVALIDARG

Returned when ppItf is NULL or REFIID is not equal to __uuidof(IVssDifferentialSoftwareSnapshotMgmt).

0x80070005

E_ACCESSDENIED

Returned when the user making the request does not have sufficient privileges to perform the operation.

For any other conditions, the method MUST return zero when it has succeeded or an implementation-specific nonzero error code on failure.

No exceptions are thrown except those that are thrown by the underlying RPC protocol [MS-RPCE].

When the server receives this message, it MUST verify that ppItf is not NULL.

The server MUST set ppItf to the IUnknown interface of an object that also implements IVssDifferentialSoftwareSnapshotMgmt or return an implementation-specific nonzero error code.