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

La méthode GetTargetLuns invite le fournisseur de matériel à initialiser les structures VDS_LUN_INFORMATION pour les lun de cliché instantané nouvellement créés. La méthode GetTargetLuns est appelée après la méthode IVssProviderCreateSnapshotSet::P ostCommitSnapshots . Les informations d’identification de chaque LUN nouvellement créée sont retournées à VSS via VDS_LUN_INFORMATION structures.

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

Syntaxe

HRESULT GetTargetLuns(
  [in]      LONG                lLunCount,
  [in]      VSS_PWSZ            *rgDeviceNames,
  [in]      VDS_LUN_INFORMATION *rgSourceLuns,
  [in, out] VDS_LUN_INFORMATION *rgDestinationLuns
);

Paramètres

[in] lLunCount

Nombre de LUN qui contribuent au volume d’origine.

[in] rgDeviceNames

Pointeur vers un tableau de pointeurs lLunCount vers des chaînes. Chaque chaîne contient le nom d’une LUN d’origine à copier en ombre.

[in] rgSourceLuns

Pointeur vers un tableau de structures VDS_LUN_INFORMATION lLunCount, une pour chaque LUN qui contribue au volume d’origine.

[in, out] rgDestinationLuns

Pointeur vers un tableau de structures lLunCountVDS_LUN_INFORMATION , un pour chaque nouveau lun de cliché instantané créé pendant le traitement de cliché instantané. Il doit y avoir une correspondance un-à-un entre les éléments des tableaux rgSourceLuns et rgDestinationLuns .

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

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

Dans le paramètre rgDestinationLuns , VSS fournit une structure de VDS_LUN_INFORMATION vide pour chaque lun de cliché instantané nouvellement créé. Les lun de cliché instantané ne sont pas mis en surface ou visibles par le système. Le fournisseur doit initialiser les membres de la structure VDS_LUN_INFORMATION avec les informations 80 (numéro de série de l’appareil) et 83 (identité de l’appareil) appropriées. La structure doit contenir des valeurs membres correctes afin que les lun de cliché instantané puissent être localisés par Windows à partir de l’ordinateur d’origine ou de tout autre ordinateur connecté au SAN.

Les membres de la structure VDS_LUN_INFORMATION correspondent aux informations de la page 80, à 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).

Les structures VDS_LUN_INFORMATION retournées ici doivent être identiques aux structures fournies dans la méthode IVssHardwareSnapshotProvider::FillInLunInfo lors de l’importation afin que VSS puisse utiliser ces informations pour identifier les lun de cliché instantané nouvellement arrivés à l’importation. Ces mêmes structures seront transmises au fournisseur dans la méthode IVssHardwareSnapshotProvider::LocateLuns .

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

IVssHardwareSnapshotProvider

VDS_LUN_INFORMATION