Compartir a través de


Método IVssHardwareSnapshotProvider::FillInLunInfo (vsprov.h)

El método FillInLunInfo solicita al proveedor de hardware que indique si admite el dispositivo de disco correspondiente y corrige las omisiones en la estructura de VDS_LUN_INFORMATION . VSS llama al método FillInLunInfo después del método IVssHardwareSnapshotProvider::LocateLuns o antes del método IVssHardwareSnapshotProvider::OnLunEmpty para obtener la estructura de VDS_LUN_INFORMATION asociada a un LUN de instantánea. VSS comparará la estructura de VDS_LUN_INFORMATION recibida en el método IVssHardwareSnapshotProvider::GetTargetLuns para identificar LUN de instantáneas. Si las estructuras no coinciden, el solicitante recibirá VSS_S_SOME_SNAPSHOTS_NOT_IMPORTED, lo que indica un error de coincidencia.

Nota Los proveedores de hardware solo se admiten en sistemas operativos Windows Server.
 

Sintaxis

HRESULT FillInLunInfo(
  [in]      VSS_PWSZ            wszDeviceName,
  [in, out] VDS_LUN_INFORMATION *pLunInfo,
  [out]     BOOL                *pbIsSupported
);

Parámetros

[in] wszDeviceName

Dispositivo correspondiente al LUN de instantánea.

[in, out] pLunInfo

Estructura VDS_LUN_INFORMATION para el LUN de instantánea.

[out] pbIsSupported

El proveedor debe devolver TRUE en la ubicación a la que apunta el parámetro pbIsSupported si se admite el dispositivo.

Valor devuelto

VSS omite el valor devuelto de este método.

Windows Server 2003: VSS no omite el valor devuelto, que puede ser uno de los valores siguientes.

Código o valor devuelto Descripción
S_OK
0x00000000L
La operación se completó correctamente.
E_OUTOFMEMORY
0x8007000EL
Memoria insuficiente u otros recursos del sistema.
E_INVALIDARG
0x80070057L
Uno de los valores de parámetro no es válido.
VSS_E_PROVIDER_VETO
0x80042306L
Se ha producido un error inesperado del proveedor. El proveedor debe notificar un evento en el registro de eventos de la aplicación que proporciona al usuario información sobre cómo resolver el problema.

Comentarios

VSS llama al método FillInLunInfo para cada estructura de VDS_LUN_INFORMATION que el proveedor inicializó previamente en su método GetTargetLuns . VSS también llama al método FillInLunInfo para cada nuevo dispositivo de disco que llega al sistema durante el proceso de importación.

El proveedor puede corregir cualquier omisión en la estructura de VDS_LUN_INFORMATION recibida en el parámetro pLunInfo . Sin embargo, el proveedor no debe modificar el valor del m_rgInterconnects miembro de esta estructura.

Los miembros de la estructura de VDS_LUN_INFORMATION corresponden a la información de datos de consulta SCSI y datos de producto vital 80 (número de serie del dispositivo), con las siguientes excepciones:

  • El miembro m_version debe establecerse en VER_VDS_LUN_INFORMATION.
  • El miembro m_BusType se omite en comparaciones durante la importación. Este valor depende de la pila de almacenamiento PnP en el dispositivo de disco correspondiente. Normalmente, se trata de VDSBusTypeScsi.
  • El miembro m_diskSignature se omite en comparaciones durante la importación. El proveedor debe establecer este miembro en GUID_NULL.
Los miembros de la estructura de VDS_STORAGE_DEVICE_ID_DESCRIPTOR (en el miembro m_deviceIdDescriptor de la estructura VDS_LUN_INFORMATION ) corresponden a la información de la página 83. En esta estructura, cada estructura VDS_STORAGE_IDENTIFIER corresponde a la estructura STORAGE_IDENTIFIER de un identificador de dispositivo (es decir, un identificador de almacenamiento con un tipo de asociación de cero). Para obtener más información sobre la estructura de STORAGE_IDENTIFIER, consulta la documentación del Kit de controladores de Windows (WDK).

Si se llama al método FillInLunInfo para un LUN desconocido para el proveedor, el proveedor no debe devolver un error. En su lugar, debe devolver FALSE en el valor BOOL al que apunta el parámetro pbIsSupported y devolver el éxito. Si el proveedor reconoce el LUN, debe establecer el valor BOOL en TRUE.

Requisitos

Requisito Value
Cliente mínimo compatible No se admite ninguno
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado vsprov.h

Consulte también

AreLunsSupported

GetTargetLuns

IVssHardwareSnapshotProvider

LocateLuns

OnLunEmpty

VDS_LUN_INFORMATION

VDS_STORAGE_IDENTIFIER