Partager via


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

La méthode AddDifferencedFilesByLastModifyTime est utilisée par un enregistreur pour indiquer qu’un jeu de fichiers (un ou plusieurs fichiers spécifiés) doit être évalué par rapport à un horodatage de la dernière modification pour l’inclusion dans une sauvegarde incrémentielle ou différentielle horodatée utilisant des fichiers entiers, et non des fichiers partiels.

Cette méthode peut être appelée par un enregistreur uniquement pendant une opération de sauvegarde.

Syntaxe

HRESULT AddDifferencedFilesByLastModifyTime(
  [in] LPCWSTR  wszPath,
  [in] LPCWSTR  wszFilespec,
  [in] BOOL     bRecursive,
  [in] FILETIME ftLastModifyTime
);

Paramètres

[in] wszPath

Chaîne de caractères larges terminée par null contenant le nom du répertoire ou de la hiérarchie de répertoires contenant les fichiers à mapper.

Le chemin d’accès peut contenir des variables d’environnement (par exemple, %SystemRoot%) mais ne peut pas contenir de caractères génériques.

Il n’est pas obligatoire que le chemin se termine par une barre oblique inverse («  »). Il appartient aux applications qui récupèrent ces informations de case activée.

[in] wszFilespec

Chaîne de caractères larges terminée par null contenant la spécification de fichier des fichiers à mapper.

Une spécification de fichier ne peut pas contenir de spécifications de répertoire (par exemple, aucune barre oblique inverse), mais peut contenir le ? et * caractères génériques.

[in] bRecursive

Valeur booléenne spécifiant si le chemin d’accès spécifié par le paramètre wszPath n’identifie qu’un seul répertoire ou s’il indique une hiérarchie de répertoires à parcourir de manière récursive. Ce paramètre doit avoir la valeur true si le chemin d’accès est traité comme une hiérarchie de répertoires à parcourir de manière récursive, ou false si ce n’est pas le cas.

Pour plus d’informations sur la traversée des dossiers montés, consultez Utilisation des dossiers montés et répare des points.

[in] ftLastModifyTime

Spécification de l’enregistreur de l’heure de la dernière modification pour les fichiers de différence, exprimée sous la forme d’une structure FILETIME .

L’heure de la dernière modification est toujours indiquée dans l’heure moyenne de Greenwich.

Valeur retournée

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

Valeur Signification
S_OK
Ajout réussi de fichiers différentiels.
E_INVALIDARG
L’une des valeurs de paramètre n’est pas valide.
E_OUTOFMEMORY
L’appelant n’a pas de mémoire ou d’autres ressources système.
VSS_E_BAD_STATE
Cette méthode n’a pas été appelée par un enregistreur ou, si elle est appelée par un enregistreur, elle n’a pas été appelée lors d’une opération de sauvegarde ou a été appelée lors de la gestion d’un événement BackupComplete ou BackupShutdown .
VSS_E_INVALID_XML_DOCUMENT
Le document XML n’est pas valide. Consultez le journal des événements pour plus d’informations. Pour plus d’informations, consultez Gestion des événements et des erreurs sous VSS.
VSS_E_UNEXPECTED
Erreur inattendue. Le code d’erreur est enregistré dans le fichier journal des erreurs. Pour plus d’informations, consultez Gestion des événements et des erreurs sous VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge tant que Windows Server 2008 R2 et Windows 7. E_UNEXPECTED est utilisé à la place.

Remarques

Un enregistreur appelle cette méthode pour spécifier que certains fichiers d’un composant ne doivent être sauvegardés que s’ils ont été modifiés depuis un certain temps. Pour plus d’informations, consultez Sauvegarde par heure de dernière modification.

Cette méthode ne peut être appelée que par les enregistreurs qui prennent en charge le dernier schéma modifié (VSS_BS_LAST_MODIFY), et uniquement pendant les opérations de sauvegarde. Les rédacteurs utilisant cette méthode n’ont pas besoin de prendre en charge le schéma d’horodatage (VSS_BS_TIMESTAMPED).

Les fichiers ajoutés par AddDifferencedFilesByLastModifyTime ne doivent pas également être ajoutés par IVssComponent::AddPartialFile.

Si le type de sauvegarde (VSS_BACKUP_TYPE) est incrémentiel (VSS_BT_INCREMENTAL), les enregistreurs qui utilisent AddDifferencedFilesByLastModifyTime doivent prendre en charge le schéma incrémentiel (VSS_BS_INCREMENTAL). Si le type de sauvegarde est différentiel, l’enregistreur doit prendre en charge le schéma VSS_BS_DIFFERENTIAL .

La méthode AddDifferencedFilesByLastModifyTime doit être appelée avant le début réel d’une opération de sauvegarde, généralement lors de la gestion de l’événement PostSnapshot (voir CVssWriter::OnPostSnapshot).

Si la valeur d’horodatage définie par AddDifferencedFilesByLastModifyTime n’est pas nulle, un demandeur doit respecter cette valeur indépendamment de ses propres enregistrements et informations de système de fichiers pour déterminer si le fichier différent doit être inclus dans une sauvegarde différentielle ou incrémentielle.

Si l’horodatage défini par AddDifferencedFilesByLastModifyTime (ftLastModifyTime) est égal à zéro, le demandeur peut utiliser les informations du système de fichiers et ses propres enregistrements pour déterminer si les fichiers différents doivent être inclus dans une sauvegarde différentielle ou incrémentielle.

Les demandeurs récupèrent le nombre de fichiers différents gérés par un composant en appelant IVssComponent::GetDifferencedFile.

Les jeux de fichiers différentiels peuvent être l’un des éléments suivants :

  • Membre du composant actuel ou (si le composant définit un ensemble de composants) ses sous-composants
  • Nouveaux fichiers non inclus précédemment dans le composant ou les sous-composants. La méthode AddDifferencedFilesByLastModifyTime permet aux auteurs d’indiquer que les fichiers créés depuis la sauvegarde d’origine doivent être inclus dans le composant pour prendre en charge les sauvegardes incrémentielles ou différentielles.
Lorsque vous faites référence à des fichiers qui font déjà partie du composant, la combinaison de chemin d’accès, de spécification de fichier et d’indicateur de récursion (wszPath, wszFileSpec et bRecursive, respectivement) fournie à AddDifferencedFilesByLastModifyTime à mapper doit correspondre à celle de l’un des jeux de fichiers ajoutés à un composant par IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles, ou IVssCreateWriterMetadata::AddDatabaseLogFiles.

Lors de l’ajout de nouveaux fichiers au composant AddDifferencedFilesByLastModifyTime, l’enregistreur ne doit pas ajouter de fichiers gérés par un autre composant ou enregistreur.

Il n’existe aucune méthode dans l’interface IVssComponent qui permet de modifier ou d’ajouter un autre mappage d’emplacement pour les nouveaux fichiers ajoutés par AddDifferencedFilesByLastModifyTime. Si un autre mappage d’emplacement correspond au nouveau fichier, cet autre emplacement sera utilisé.

Configuration requise

   
Client minimal pris en charge Windows Vista [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

CVssWriter::OnPostSnapshot

IVssComponent

IVssComponent::GetDifferencedFile

IVssComponent::GetDifferencedFilesCount

Sauvegardes incrémentielles et différentielles

VSS_BACKUP_SCHEMA

VSS_BACKUP_TYPE

VSS_FILE_SPEC_BACKUP_TYPE