IVssHardwareSnapshotProvider::BeginPrepareSnapshot method (vsprov.h)

The BeginPrepareSnapshot method is called for each shadow copy that is added to the shadow copy set.

Note  Hardware providers are only supported on Windows Server operating systems.
 

Syntax

HRESULT BeginPrepareSnapshot(
  [in]      VSS_ID              SnapshotSetId,
  [in]      VSS_ID              SnapshotId,
  [in]      LONG                lContext,
  [in]      LONG                lLunCount,
  [in]      VSS_PWSZ            *rgDeviceNames,
  [in, out] VDS_LUN_INFORMATION *rgLunInformation
);

Parameters

[in] SnapshotSetId

Shadow copy set identifier.

[in] SnapshotId

Identifier of the shadow copy to be created.

[in] lContext

Shadow copy context for current shadow copy set as enumerated by _VSS_VOLUME_SNAPSHOT_ATTRIBUTES.

[in] lLunCount

Count of LUNs contributing to this shadow copy volume.

[in] rgDeviceNames

Pointer to array of lLunCount pointers to strings, each string containing the name of a LUN to be shadow copied.

[in, out] rgLunInformation

Pointer to array of lLunCountVDS_LUN_INFORMATION structures, one for each LUN contributing to this shadow copy volume.

Return value

This method can return one of these values.

Return code/value Description
S_OK
0x00000000L
The operation was successfully completed.
E_OUTOFMEMORY
0x8007000EL
Out of memory or other system resources.
E_INVALIDARG
0x80070057L
One of the parameter values is not valid.
VSS_E_MAXIMUM_NUMBER_OF_VOLUMES_REACHED
0x80042312L
The provider has reached the maximum number of volumes it can support.
VSS_E_NESTED_VOLUME_LIMIT
The specified volume is nested too deeply to participate in the VSS operation.

Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP:  This return code is not supported.

VSS_E_PROVIDER_VETO
0x80042306L
An unexpected provider error occurred. The provider must report an event in the application event log providing the user with information on how to resolve the problem.
VSS_E_VOLUME_NOT_SUPPORTED_BY_PROVIDER
0x8004230EL
The provider does not support this volume.
VSS_E_UNSUPPORTED_CONTEXT
0x8004231BL
The context specified by lContext is not supported.

Remarks

This method cannot be called for a virtual hard disk (VHD) that is nested inside another VHD.

Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP:  VHDs are not supported.

Requirements

Requirement Value
Minimum supported client None supported
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header vsprov.h

See also

IVssHardwareSnapshotProvider

_VSS_VOLUME_SNAPSHOT_ATTRIBUTES