Méthode IVssComponent ::GetDirectedTarget (vswriter.h)

La méthode GetDirectedTarget retourne des informations stockées par un enregistreur, au moment de la sauvegarde, dans le document composants de sauvegarde pour indiquer que lorsqu’un fichier doit être restauré, il (le fichier source) doit être remappé. Le fichier peut être restauré vers une nouvelle cible de restauration et/ou des plages de ses données restaurées à différents emplacements avec la cible de restauration.

Un writer ou un demandeur peut appeler cette méthode.

Syntaxe

HRESULT GetDirectedTarget(
  [in]  UINT iDirectedTarget,
  [out] BSTR *pbstrSourcePath,
  [out] BSTR *pbstrSourceFileName,
  [out] BSTR *pbstrSourceRangeList,
  [out] BSTR *pbstrDestinationPath,
  [out] BSTR *pbstrDestinationFilename,
  [out] BSTR *pbstrDestinationRangeList
);

Paramètres

[in] iDirectedTarget

Numéro d’index de la cible dirigée. La valeur de ce paramètre est un entier compris entre 0 et n–1 inclus, où n est le nombre total de cibles dirigées associées à un composant donné (et ses sous-composants s’il définit un jeu de composants). La valeur de n est retournée par IVssComponent ::GetDirectedTargetCount.

[out] pbstrSourcePath

Adresse d’une variable allouée à l’appelant qui reçoit une chaîne contenant le chemin d’accès au répertoire qui, au moment de la sauvegarde, contenait le fichier à restaurer (fichier source). Ce chemin doit correspondre ou se trouver en dessous du chemin d’accès d’un jeu de fichiers déjà dans le composant ou l’un de ses sous-composants (si le composant définit un jeu de composants).

[out] pbstrSourceFileName

Adresse d’une variable allouée à l’appelant qui reçoit une chaîne contenant le nom du fichier (au moment de la sauvegarde) qui doit être remappée lors d’une restauration (le fichier source). Le nom de ce fichier ne doit pas contenir de caractères génériques et doit être membre du même jeu de fichiers que le chemin d’accès source (pbstrSourcePath).

[out] pbstrSourceRangeList

Adresse d’une variable allouée à l’appelant qui reçoit une chaîne contenant une liste de décalages et de longueurs de fichiers séparés par des virgules indiquant la plage de prise en charge du fichier source (sections du fichier à restaurer).

Le nombre et la longueur des plages de prise en charge des fichiers sources doivent correspondre au nombre et à la taille des plages de prise en charge des fichiers de destination.

[out] pbstrDestinationPath

Adresse d’une variable allouée à l’appelant qui reçoit une chaîne contenant le chemin d’accès auquel les données du fichier source seront remappées au moment de la restauration.

[out] pbstrDestinationFilename

Adresse d’une variable allouée à l’appelant qui reçoit une chaîne contenant le nom du fichier dans lequel les données du fichier source seront remappées au moment de la restauration.

[out] pbstrDestinationRangeList

Adresse d’une variable allouée par l’appelant qui reçoit une chaîne contenant une liste séparée par des virgules de décalages et de longueurs de fichiers indiquant la plage de prise en charge du fichier de destination (emplacements vers lesquels les sections du fichier source doivent être restaurées).

Le nombre et la longueur des plages de prise en charge des fichiers de destination doivent correspondre au nombre et à la taille des plages de prise en charge des fichiers sources.

Valeur retournée

Voici les codes de retour valides pour cette méthode.

Valeur Signification
S_OK
La valeur de l’attribut a été retournée.
E_INVALIDARG
L’une des valeurs de paramètre n’est pas valide.
E_OUTOFMEMORY
L’appelant n’a plus de mémoire ou d’autres ressources système.
VSS_E_INVALID_XML_DOCUMENT
Le document XML n’est pas valide. Pour plus d’informations, consultez le journal des événements. Pour plus d’informations, consultez Gestion des événements et des erreurs sous VSS.
VSS_E_OBJECT_NOT_FOUND
L’élément spécifié est introuvable.

Remarques

Si l’appel à GetDirectedTarget réussit, l’appelant est chargé de libérer chaque chaîne retournée en appelant la fonction SysFreeString .

Un demandeur utilise les informations de cible dirigées stockées dans le document composants de sauvegarde uniquement si la cible de restauration est VSS_RT_DIRECTED.

La syntaxe de la liste de plages (wszSourceRanges et wszDestinationRanges) est celle d’une liste séparée par des virgules au format offset1 :length1, offset2 :length2, où chaque offset et longueur est un entier 64 bits spécifiant respectivement un décalage d’octets et une longueur en octets. Le décalage et la longueur peuvent être exprimés sous forme de valeurs hexadécimales ou décimales.

Les fichiers dont les cibles dirigées sont retournées par GetDirectedTarget peuvent être membres des fichiers du composant actuel ou de tout sous-composant qu’il définit.

L’appelant doit libérer la mémoire détenue par les paramètres pbstrSourcePath, pbstrSourceFileName, pbstrSourceRangeList, pbstrDestinationPath, pbstrDestinationFilename et pbstrDestinationRangeList en appelant SysFreeString.

Les fichiers partiels peuvent être ajoutés en tant que cibles dirigées, si les plages de fichiers partiels à sauvegarder correspondent aux plages de sources cibles dirigées (voir IVssComponent ::AddPartialFile). Cela vous permettra de remapper des fichiers partiels.

Le demandeur doit case activée si le fichier source cible dirigé a été sauvegardé en tant que fichier partiel pour implémenter correctement la restauration. Si tel est le cas, le demandeur utilise les informations de cible dirigées conjointement avec les informations de fichier partielles (IVssComponent ::GetPartialFile) pour implémenter le remapping des données sauvegardées pendant la restauration.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête vswriter.h (inclure Vss.h, VsWriter.h)
Bibliothèque VssApi.lib

Voir aussi

IVssComponent

IVssComponent ::AddDirectedTarget

IVssComponent ::GetDirectedTargetCount