Metodo IVssHardwareSnapshotProvider::FillInLunInfo (vsprov.h)

Il metodo FillInLunInfo richiede al provider hardware di indicare se supporta il dispositivo disco corrispondente e correggere eventuali omissioni nella struttura VDS_LUN_INFORMATION . VSS chiama il metodo FillInLunInfo dopo il metodo IVssHardwareSnapshotProvider::LocateLuns o prima del metodo IVssHardwareSnapshotProvider::OnLunEmpty per ottenere la struttura VDS_LUN_INFORMATION associata a un LUN della copia shadow. Vss confronta la struttura VDS_LUN_INFORMATION ricevuta nel metodo IVssHardwareSnapshotProvider::GetTargetLuns per identificare i LUN di copia shadow. Se le strutture non corrispondono, il richiedente riceverà VSS_S_SOME_SNAPSHOTS_NOT_IMPORTED, che indica una mancata corrispondenza.

Nota I provider hardware sono supportati solo nei sistemi operativi Windows Server.
 

Sintassi

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

Parametri

[in] wszDeviceName

Dispositivo corrispondente al LUN della copia shadow.

[in, out] pLunInfo

Struttura VDS_LUN_INFORMATION per il LUN della copia shadow.

[out] pbIsSupported

Il provider deve restituire TRUE nel percorso a cui punta il parametro pbIsSupported se il dispositivo è supportato.

Valore restituito

VSS ignora il valore restituito di questo metodo.

Windows Server 2003: VSS non ignora il valore restituito, che può essere uno dei valori seguenti.

Codice/valore restituito Descrizione
S_OK
0x0000000L
L'operazione è stata completata correttamente.
E_OUTOFMEMORY
0x8007000EL
Memoria insufficiente o altre risorse di sistema.
E_INVALIDARG
0x80070057L
Uno dei valori dei parametri non è valido.
VSS_E_PROVIDER_VETO
0x80042306L
Si è verificato un errore imprevisto del provider. Il provider deve segnalare un evento nel registro eventi dell'applicazione, fornendo all'utente informazioni su come risolvere il problema.

Commenti

VSS chiama il metodo FillInLunInfo per ogni struttura VDS_LUN_INFORMATION inizializzata in precedenza dal provider nel metodo GetTargetLuns . VSS chiama anche il metodo FillInLunInfo per ogni nuovo dispositivo disco che arriva nel sistema durante il processo di importazione.

Il provider può correggere eventuali omissioni nella struttura VDS_LUN_INFORMATION ricevuta nel parametro pLunInfo . Tuttavia, il provider non deve modificare il valore del membro m_rgInterconnects di questa struttura.

I membri della struttura VDS_LUN_INFORMATION corrispondono alle informazioni SCSI Inquiry Data e Vital Product Data 80 (numero di serie del dispositivo), con le eccezioni seguenti:

  • Il membro m_version deve essere impostato su VER_VDS_LUN_INFORMATION.
  • Il membro m_BusType viene ignorato nei confronti durante l'importazione. Questo valore dipende dallo stack di archiviazione PnP nel dispositivo disco corrispondente. In genere si tratta di VDSBusTypeScsi.
  • Il membro m_diskSignature viene ignorato nei confronti durante l'importazione. Il provider deve impostare questo membro su GUID_NULL.
I membri della struttura VDS_STORAGE_DEVICE_ID_DESCRIPTOR (nel membro m_deviceIdDescriptor della struttura VDS_LUN_INFORMATION ) corrispondono alle informazioni sulla pagina 83. In questa struttura ogni struttura VDS_STORAGE_IDENTIFIER corrisponde alla struttura STORAGE_IDENTIFIER per un identificatore di dispositivo, ovvero un identificatore di archiviazione con un tipo di associazione pari a zero. Per altre informazioni sulla struttura STORAGE_IDENTIFIER, vedere la documentazione di Windows Driver Kit (WDK).

Se il metodo FillInLunInfo viene chiamato per un LUN sconosciuto al provider, il provider non deve restituire un errore. Deve invece restituire FALSE nel valore BOOL a cui punta il parametro pbIsSupported e restituisce l'esito positivo. Se il provider riconosce il LUN, deve impostare il valore BOOL su TRUE.

Requisiti

Requisito Valore
Client minimo supportato Nessuno supportato
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione vsprov.h

Vedi anche

AreLunsSupported

GetTargetLuns

IVssHardwareSnapshotProvider

LocateLuns

OnLunEmpty

VDS_LUN_INFORMATION

VDS_STORAGE_IDENTIFIER