IVssHardwareSnapshotProvider::FillInLunInfo method (vsprov.h)
The FillInLunInfo method prompts the hardware provider to indicate whether it supports the corresponding disk device and correct any omissions in the VDS_LUN_INFORMATION structure. VSS calls the FillInLunInfo method after the IVssHardwareSnapshotProvider::LocateLuns method or before the IVssHardwareSnapshotProvider::OnLunEmpty method to obtain the VDS_LUN_INFORMATION structure associated with a shadow copy LUN. VSS will compare the VDS_LUN_INFORMATION structure received in the IVssHardwareSnapshotProvider::GetTargetLuns method to identify shadow copy LUNs. If the structures do not match, the requester will receive VSS_S_SOME_SNAPSHOTS_NOT_IMPORTED, which indicates a mismatch.
Syntax
HRESULT FillInLunInfo(
[in] VSS_PWSZ wszDeviceName,
[in, out] VDS_LUN_INFORMATION *pLunInfo,
[out] BOOL *pbIsSupported
);
Parameters
[in] wszDeviceName
Device corresponding to the shadow copy LUN.
[in, out] pLunInfo
The VDS_LUN_INFORMATION structure for the shadow copy LUN.
[out] pbIsSupported
The provider must return TRUE in the location pointed to by the pbIsSupported parameter if the device is supported.
Return value
VSS ignores this method's return value.
Windows Server 2003: VSS does not ignore the return value, which can be one of the following 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 has occurred. The provider must report an event in the application event log providing the user with information on how to resolve the problem. |
Remarks
VSS calls the FillInLunInfo method for each VDS_LUN_INFORMATION structure that the provider previously initialized in its GetTargetLuns method. VSS also calls the FillInLunInfo method for each new disk device that arrives in the system during the import process.
The provider can correct any omissions in the VDS_LUN_INFORMATION structure received in the pLunInfo parameter. However, the provider should not modify the value of the m_rgInterconnects member of this structure.
The members of the VDS_LUN_INFORMATION structure correspond to the SCSI Inquiry Data and Vital Product Data page 80 (device serial number) information, with the following exceptions:
- The m_version member must be set to VER_VDS_LUN_INFORMATION.
- The m_BusType member is ignored in comparisons during import. This value depends on the PnP storage stack on the corresponding disk device. Usually this is VDSBusTypeScsi.
- The m_diskSignature member is ignored in comparisons during import. The provider must set this member to GUID_NULL.
If the FillInLunInfo method is called for a LUN that is unknown to the provider, the provider should not return an error. Instead, it should return FALSE in the BOOL value that the pbIsSupported parameter points to and return success. If the provider recognizes the LUN, it should set the BOOL value to TRUE.
Requirements
Requirement | Value |
---|---|
Minimum supported client | None supported |
Minimum supported server | Windows Server 2003 [desktop apps only] |
Target Platform | Windows |
Header | vsprov.h |