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

La méthode FillInLunInfo invite le fournisseur de matériel à indiquer s’il prend en charge le périphérique de disque correspondant et corrige les omissions dans la structure VDS_LUN_INFORMATION . VSS appelle la méthode FillInLunInfo après la méthode IVssHardwareSnapshotProvider::LocateLuns ou avant la méthode IVssHardwareSnapshotProvider::OnLunEmpty pour obtenir la structure VDS_LUN_INFORMATION associée à un numéro logique de cliché instantané. VSS compare la structure VDS_LUN_INFORMATION reçue dans la méthode IVssHardwareSnapshotProvider::GetTargetLuns pour identifier les numéros logiques de cliché instantané. Si les structures ne correspondent pas, le demandeur reçoit VSS_S_SOME_SNAPSHOTS_NOT_IMPORTED, ce qui indique une incompatibilité.

Note Les fournisseurs de matériel sont uniquement pris en charge sur les systèmes d’exploitation Windows Server.
 

Syntaxe

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

Paramètres

[in] wszDeviceName

Appareil correspondant au numéro d’unité logique de cliché instantané.

[in, out] pLunInfo

Structure VDS_LUN_INFORMATION pour le numéro d’unité logique de cliché instantané.

[out] pbIsSupported

Le fournisseur doit retourner TRUE à l’emplacement vers lequel pointe le paramètre pbIsSupported si l’appareil est pris en charge.

Valeur retournée

VSS ignore la valeur de retour de cette méthode.

Windows Server 2003 : VSS n’ignore pas la valeur de retour, qui peut être l’une des valeurs suivantes.

Code/valeur de retour Description
S_OK
0x00000000L
L’opération a été effectuée avec succès.
E_OUTOFMEMORY
0x8007000EL
Mémoire insuffisante ou autres ressources système.
E_INVALIDARG
0x80070057L
L’une des valeurs de paramètre n’est pas valide.
VSS_E_PROVIDER_VETO
0x80042306L
Une erreur de fournisseur inattendue s’est produite. Le fournisseur doit signaler un événement dans le journal des événements de l’application fournissant à l’utilisateur des informations sur la façon de résoudre le problème.

Notes

VSS appelle la méthode FillInLunInfo pour chaque structure VDS_LUN_INFORMATION que le fournisseur initialise précédemment dans sa méthode GetTargetLuns . VSS appelle également la méthode FillInLunInfo pour chaque nouvel appareil disque qui arrive dans le système pendant le processus d’importation.

Le fournisseur peut corriger toutes les omissions dans la structure VDS_LUN_INFORMATION reçue dans le paramètre pLunInfo . Toutefois, le fournisseur ne doit pas modifier la valeur du membre m_rgInterconnects de cette structure.

Les membres de la structure VDS_LUN_INFORMATION correspondent aux informations SCSI Inquiry Data and Vital Product Data page 80 (numéro de série de l’appareil), avec les exceptions suivantes :

  • Le membre m_version doit être défini sur VER_VDS_LUN_INFORMATION.
  • Le membre m_BusType est ignoré dans les comparaisons lors de l’importation. Cette valeur dépend de la pile de stockage PnP sur l’appareil disque correspondant. Il s’agit généralement de VDSBusTypeScsi.
  • Le membre m_diskSignature est ignoré dans les comparaisons lors de l’importation. Le fournisseur doit définir ce membre sur GUID_NULL.
Les membres de la structure VDS_STORAGE_DEVICE_ID_DESCRIPTOR (dans le membre m_deviceIdDescriptor de la structure VDS_LUN_INFORMATION ) correspondent aux informations de la page 83. Dans cette structure, chaque structure VDS_STORAGE_IDENTIFIER correspond à la structure STORAGE_IDENTIFIER d’un identificateur d’appareil (autrement dit, un identificateur de stockage avec un type d’association de zéro). Pour plus d’informations sur la structure STORAGE_IDENTIFIER, consultez la documentation du Kit de pilotes Windows (WDK).

Si la méthode FillInLunInfo est appelée pour un numéro d’unité logique inconnu du fournisseur, le fournisseur ne doit pas retourner d’erreur. Au lieu de cela, il doit retourner FALSE dans la valeur BOOL vers laquelle le paramètre pbIsSupported pointe vers et retourne la réussite. Si le fournisseur reconnaît le numéro d’unité logique, il doit définir la valeur BOOL sur TRUE.

Configuration requise

   
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête vsprov.h

Voir aussi

AreLunsSupported

GetTargetLuns

IVssHardwareSnapshotProvider

LocateLuns

OnLunEmpty

VDS_LUN_INFORMATION

VDS_STORAGE_IDENTIFIER