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 à corriger 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 lun de cliché instantané. VSS compare la structure VDS_LUN_INFORMATION reçue dans la méthode IVssHardwareSnapshotProvider ::GetTargetLuns pour identifier les LUN 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 lun de cliché instantané.

[in, out] pLunInfo

Structure VDS_LUN_INFORMATION pour la lun de cliché instantané.

[out] pbIsSupported

Le fournisseur doit retourner TRUE à l’emplacement indiqué par 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
0x000000000L
L’opération s’est terminé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.

Remarques

VSS appelle la méthode FillInLunInfo pour chaque structure VDS_LUN_INFORMATION que le fournisseur a initialisée précédemment dans sa méthode GetTargetLuns . VSS appelle également la méthode FillInLunInfo pour chaque nouveau périphérique 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çues dans le paramètre pLunInfo . Toutefois, le fournisseur ne doit pas modifier la valeur du m_rgInterconnects membre de cette structure.

Les membres de la structure VDS_LUN_INFORMATION correspondent aux informations 80 de la page 80 (numéro de série de l’appareil) de la demande SCSI, à quelques exceptions près :

  • 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 le périphérique de 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 une LUN inconnue du fournisseur, le fournisseur ne doit pas renvoyer d’erreur. Au lieu de cela, il doit retourner FALSE dans la valeur BOOL vers laquelle pointe le paramètre pbIsSupported et retourner la réussite. Si le fournisseur reconnaît la LUN, il doit définir la valeur BOOL sur TRUE.

Configuration requise

Condition requise Valeur
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