Partager via


Méthode CVssWriterEx::OnIdentifyEx (vswriter.h)

Retourne un pointeur vers un objet IVssCreateWriterMetadataEx .

OnIdentifyEx est une méthode virtuelle. Elle est implémentée par la classe de base CVssWriterEx , mais peut être remplacée par des classes dérivées.

Syntaxe

bool OnIdentifyEx(
  [in] IVssCreateWriterMetadataEx *pMetadata
);

Paramètres

[in] pMetadata

Pointeur vers un objet IVssCreateWriterMetadataEx .

Valeur retournée

Comme implémenté par la classe de base, OnIdentifyEx retourne toujours true.

Toute autre implémentation de cette méthode doit retourner true , sauf en cas d’erreur irrécupérable. Si une erreur irrécupérable se produit, la méthode doit retourner false.

Dans tous les cas où une défaillance se produit, y compris les erreurs non irrécrécables, la méthode doit écrire une entrée détaillée dans le journal des événements pour signaler la raison exacte de l’échec.

Remarques

La méthode OnIdentifyEx est identique à la méthode OnIdentify , sauf qu’elle retourne un pointeur d’interface IVssCreateWriterMetadataEx au lieu d’un pointeur d’interface IVssCreateWriterMetadata dans le paramètre pMetadata . Un writer peut remplacer OnIdentify ou OnIdentifyEx, mais pas les deux.

Les enregistreurs ne doivent jamais lever d’exception de cette méthode ou de toute autre méthode de rappel CVssWriter(Ex)::OnXxx .

Les rédacteurs ne doivent jamais appeler la méthode CVssWriter::SetWriterFailure à partir de la méthode OnIdentify ou OnIdentifyEx .

Si cette méthode appelle la méthode CVssWriterEx2::GetSessionId , elle doit le faire dans le thread qui a appelé cette méthode. Pour plus d’informations, consultez Gestion des événements writer.

En réponse à un événement Identifier généré par une autre application, un enregistreur appelle OnIdentifyEx pour créer un document de métadonnées writer qui contient des informations sur les composants qu’il gère à l’aide de l’interface IVssCreateWriterMetadataEx .

L’application qui a généré l’événement Identifier récupère ensuite le document de métadonnées writer et examine les informations de composant de l’enregistreur à l’aide de l’interface IVssExamineWriterMetadata .

Un événement Identifier est requis avant les événements qui composent une séquence de sauvegarde ou de restauration. Par conséquent, OnIdentifyEx est généralement appelé pour gérer un événement Identify en réponse à l’appel d’un demandeur à IVssBackupComponents::GatherWriterMetadata dans le cadre d’une opération de sauvegarde ou de restauration.

Toutefois, un événement Identifier en soi ne fait pas partie de la séquence d’événements qui composent une séquence de sauvegarde ou de restauration, et le service VSS n’empêche pas la génération d’événements Identifier , même pendant qu’une séquence de sauvegarde ou de restauration est en cours. Par exemple, les applications de gestion VSS utilisent l’événement Identifier pour déterminer et afficher l’état des enregistreurs sur le système.

Pour cette raison, les rédacteurs ne doivent jamais utiliser leur implémentation d’OnIdentifyEx de l’une des manières suivantes :

  • Comme début de leur gestion d’une séquence de sauvegarde ou de restauration
  • Pour définir ou conserver des informations sur l’état de l’enregistreur
Pour plus d’informations sur les interactions de l’enregistreur avec les événements, consultez Gestion des événements writer.

Pendant les événements PrepareForBackup, PrepareForSnapshot et PostSnapshot , un writer peut utiliser la méthode GetIdentifyInformation pour obtenir les métadonnées que la méthode OnIdentifyEx de l’enregistreur a précédemment signalées.

Le cycle de vie de l’objet IVssCreateWriterMetadataEx vers lequel pointe le paramètre pMetadata est géré par l’infrastructure VSS.

Configuration requise

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

Voir aussi

CVssWriterEx

CVssWriterEx::GetIdentifyInformation

IVssCreateWriterMetadataEx