IVssHardwareSnapshotProvider::AreLunsSupported method (vsprov.h)
The AreLunsSupported method determines whether the hardware provider supports shadow copy creation for all LUNs that contribute to the volume. VSS calls the AreLunsSupported method for each volume that is added to the shadow copy set. Before calling this method, VSS determines the LUNs that contribute to the volume.
For a specific volume, each LUN can contribute only once. A specific LUN may contribute to multiple volumes.
Syntax
HRESULT AreLunsSupported(
[in] LONG lLunCount,
[in] LONG lContext,
[in] VSS_PWSZ *rgwszDevices,
[in, out] VDS_LUN_INFORMATION *pLunInformation,
[out] BOOL *pbIsSupported
);
Parameters
[in] lLunCount
Count of LUNs contributing to this shadow copy volume.
[in] lContext
Shadow copy context for the current shadow copy set as enumerated by a bitmask of flags from the _VSS_VOLUME_SNAPSHOT_ATTRIBUTES enumeration. If the VSS_VOLSNAP_ATTR_TRANSPORTABLE flag is set, the shadow copy set is transportable.
[in] rgwszDevices
List of devices corresponding to the LUNs to be shadow copied.
[in, out] pLunInformation
Array of lLunCountVDS_LUN_INFORMATION structures, one for each LUN contributing to this shadow copy volume.
[out] pbIsSupported
Pointer to a BOOL value. If all devices are supported for shadow copy, the provider should store a TRUE value at the location pointed to by pbIsSupported.
Return value
This method can return one of these values.
Return code/value | Description |
---|---|
|
The operation was successfully completed. |
|
Out of memory or other system resources. |
|
One of the parameter values is not valid. |
|
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. |
Remarks
If the hardware subsystem supports the SCSI Inquiry Data and Vital Product Data page 80 (device serial number) and page 83 (device identity) guidelines, the provider should not need to modify the structures in the pLunInformation array.
In any case, the AreLunsSupported method should not modify the value of the m_rgInterconnects member of any VDS_LUN_INFORMATION structure in the pLunInformation array.
If the provider supports hardware shadow copy creation for all of the LUNs in the pLunInformation array, it should return TRUE in the BOOL value that the pbIsSupported parameter points to. If the provider does not support hardware shadow copies for one or more LUNs, it must set this BOOL value to FALSE.
The provider must never agree to create shadow copies if it cannot, even if the problem is only temporary. If a transient condition, such as low resources, makes it impossible for the provider to create a shadow copy using one or more LUNs when AreLunsSupported is called, the provider must set the BOOL value to FALSE.
Requirements
Requirement | Value |
---|---|
Minimum supported client | None supported |
Minimum supported server | Windows Server 2003 [desktop apps only] |
Target Platform | Windows |
Header | vsprov.h |