IVssDifferentialSoftwareSnapshotMgmt3::GetVolumeProtectLevel method

Gets the shadow copy protection level and status for the specified volume.

Syntax


HRESULT GetVolumeProtectLevel(
  [in]  VSS_PWSZ                   pwszVolumeName,
  [out] VSS_VOLUME_PROTECTION_INFO *protectionLevel
);

Parameters

pwszVolumeName [in]

The name of the volume. This parameter is required and cannot be NULL.

The name must be in one of the following formats and must include a trailing backslash (\):

  • The path of a mounted folder, for example, Y:\MountX\
  • A drive letter, for example, D:\
  • A volume GUID path in the form \\?\Volume{GUID}\ (where GUID identifies the volume)
protectionLevel [out]

The address of a caller-allocated buffer that receives a VSS_VOLUME_PROTECTION_INFO structure containing information about the volume's shadow copy protection level.

Return value

The following are the valid return codes for this method.

ValueMeaning
S_OK

The shadow copy protection level was queried successfully.

E_ACCESSDENIED
0x80070005L

The caller is not an administrator.

E_INVALIDARG
0x80070057L

One of the parameter values is not valid.

E_NOTIMPL
0x80000001L

The provider for the volume does not support shadow copy protection.

VSS_E_PROVIDER_VETO
0x80042306L

An expected provider error has occurred. The error code is logged in the event log. For more information, see Event and Error Handling Under VSS.

VSS_E_OBJECT_NOT_FOUND
0x80042308L

The specified volume was not found.

 

Remarks

The GetVolumeProtectLevel method gets information about the volume's current protection level. If the volume is in a faulted state, the m_protectionFault member of the VSS_VOLUME_PROTECTION_INFO structure contains the current protection fault, and the m_failureStatus member contains the reason why the volume is in a faulted state. If the volume is not in a faulted state, the m_protectionFault and m_failureStatus members will be zero.

If the value of the protectionLevel parameter is VSS_PROTECTION_LEVEL_SNAPSHOT, requesters must set shadow copy storage area (diff area) associations using the IVssDifferentialSoftwareSnapshotMgmt::AddDiffArea method.

Requirements

Minimum supported client

Windows Vista with SP1 [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]

Header

VsMgmt.h

See also

IVssDifferentialSoftwareSnapshotMgmt3
IVssDifferentialSoftwareSnapshotMgmt3::SetVolumeProtectLevel

 

 

Show: