Méthode IVssBackupComponents ::GetWriterStatus (vsbackup.h)

La méthode GetWriterStatus retourne la status du writer spécifié.

Syntaxe

HRESULT GetWriterStatus(
  [in]  UINT             iWriter,
  [out] VSS_ID           *pidInstance,
  [out] VSS_ID           *pidWriter,
  [out] BSTR             *pbstrWriter,
  [out] VSS_WRITER_STATE *pnStatus,
  [out] HRESULT          *phResultFailure
);

Paramètres

[in] iWriter

Index du writer dont les métadonnées doivent être récupérées. La valeur de ce paramètre est un entier compris entre 0 et n–1 inclus, où n est le nombre total d’enregistreurs sur le système actuel. La valeur de n est retournée par IVssBackupComponents ::GetWriterStatusCount.

[out] pidInstance

Adresse d’une variable allouée par l’appelant qui reçoit l’identificateur instance de l’enregistreur.

[out] pidWriter

Adresse d’une variable allouée par l’appelant qui reçoit l’identificateur de la classe writer.

[out] pbstrWriter

Adresse d’une variable allouée à l’appelant qui reçoit une chaîne contenant le nom de l’enregistreur spécifié.

[out] pnStatus

Adresse d’une variable allouée par l’appelant qui reçoit une valeur d’énumération VSS_WRITER_STATE .

[out] phResultFailure

Adresse d’une variable allouée par l’appelant qui reçoit le code d’échec HRESULT retourné par l’enregistreur.

Voici les valeurs prises en charge pour pHrResultFailure.

Valeur Signification
S_OK
L’auteur a réussi.
VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT
Le cliché instantané contient uniquement un sous-ensemble des volumes nécessaires à l’enregistreur pour sauvegarder correctement le composant d’application.
VSS_E_WRITERERROR_OUTOFRESOURCES
L’enregistreur est à court de mémoire ou d’autres ressources système. La méthode recommandée pour gérer ce code d’erreur consiste à attendre dix minutes, puis à répéter l’opération, jusqu’à trois fois.
VSS_E_WRITERERROR_TIMEOUT
L’opération writer a échoué en raison d’un délai d’attente entre les événements Freeze et Thaw. La méthode recommandée pour gérer ce code d’erreur consiste à attendre dix minutes, puis à répéter l’opération, jusqu’à trois fois.
VSS_E_WRITERERROR_RETRYABLE
L’enregistreur a échoué en raison d’une erreur qui ne se produirait probablement pas si l’ensemble du processus de sauvegarde, de restauration ou de création de cliché instantané était redémarré. La méthode recommandée pour gérer ce code d’erreur consiste à attendre dix minutes, puis à répéter l’opération, jusqu’à trois fois.
VSS_E_WRITERERROR_NONRETRYABLE
L’opération writer a échoué en raison d’une erreur qui peut se reproduire si un autre cliché instantané est créé. Pour plus d’informations, consultez Gestion des événements et des erreurs sous VSS.
VSS_E_WRITER_NOT_RESPONDING
L’auteur ne répond pas.
VSS_E_WRITER_STATUS_NOT_AVAILABLE
Le writer status n’est pas disponible pour un ou plusieurs écrivains. Un enregistreur peut avoir atteint le nombre maximal de sessions de sauvegarde et de restauration disponibles.

Windows Vista, Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.

Valeur retournée

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

Valeur Signification
S_OK
La status de l’enregistreur spécifié a été correctement retournée. Notez que la valeur du paramètre pHrWriterFailure doit être vérifiée pour vérifier que l’enregistreur a réussi. Les codes d’échec de l’enregistreur peuvent figurer parmi ceux répertoriés dans VsWriter.h et dans Les erreurs et les vetos de l’enregistreur.
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_BAD_STATE
L’objet de composants de sauvegarde n’est pas initialisé, cette méthode a été appelée pendant une opération de restauration ou cette méthode n’a pas été appelée dans la séquence correcte.
VSS_E_OBJECT_NOT_FOUND
Le writer spécifié n’existe pas.
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 demandeur doit appeler l’opération asynchrone IVssBackupComponents ::GatherWriterStatus et attendre qu’elle se termine avant d’appeler GetWriterStatus.

Lorsque l’appelant a terminé d’accéder aux informations status retournées par cette méthode, il doit appeler SysFreeString pour libérer la mémoire détenue par le paramètre pbstrWriter.

Les valeurs VSS_E_WRITERERROR_XXX retournées dans le paramètre pHrResultFailure sont générées par des enregistreurs. VSS_E_WRITER_NOT_RESPONDING et VSS_E_WRITER_STATUS_NOT_AVAILABLE sont générés par VSS.

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 vsbackup.h (inclure VsBackup.h, Vss.h, VsWriter.h)
Bibliothèque VssApi.lib

Voir aussi

IVssBackupComponents

IVssBackupComponents ::GatherWriterStatus

IVssBackupComponents ::GetWriterStatusCount