Partager via


Méthode IVssBackupComponentsEx3 ::GetWriterStatusEx (vsbackup.h)

Retourne des informations status étendues pour l’enregistreur spécifié.

Syntaxe

HRESULT GetWriterStatusEx(
  [in]            UINT             iWriter,
  [out]           VSS_ID           *pidInstance,
  [out]           VSS_ID           *pidWriter,
  [out]           BSTR             *pbstrWriter,
  [out]           VSS_WRITER_STATE *pnStatus,
  [out]           HRESULT          *phrFailureWriter,
  [out, optional] HRESULT          *phrApplication,
  [out, optional] BSTR             *pbstrApplicationMessage
);

Paramètres

[in] iWriter

Index de l’enregistreur 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 n est retournée par la méthode IVssBackupComponents ::GetWriterStatusCount .

[out] pidInstance

Adresse d’une variable allouée par l’appelant qui reçoit l’identificateur instance de l’enregistreur. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.

[out] pidWriter

Adresse d’une variable allouée par l’appelant qui reçoit l’identificateur de la classe writer. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.

[out] pbstrWriter

Adresse d’une variable allouée à l’appelant qui reçoit une chaîne contenant le nom de l’enregistreur spécifié. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.

[out] pnStatus

Adresse d’une variable allouée par l’appelant qui reçoit une valeur d’énumération VSS_WRITER_STATE . Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.

[out] phrFailureWriter

Adresse d’une variable allouée à l’appelant qui reçoit le code d’échec HRESULT que l’enregistreur a retourné pour le paramètre hrWriter de la méthode CVssWriterEx2 ::SetWriterFailureEx .

Voici les valeurs prises en charge.

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 a manqué 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 d’écriture a échoué en raison d’un délai d’attente entre les événements Freeze et Dégel. 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 d’écriture a échoué en raison d’une erreur qui peut se produire 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 status d’écriture n’est pas disponible pour un ou plusieurs rédacteurs. Un enregistreur peut avoir atteint le nombre maximal de sessions de sauvegarde et de restauration disponibles.
VSS_E_WRITERERROR_PARTIAL_FAILURE
L’enregistreur signale une ou plusieurs erreurs au niveau du composant. Pour récupérer les erreurs, le demandeur doit utiliser la méthode IVssComponentEx2 ::GetFailure .

[out, optional] phrApplication

Adresse d’une variable allouée à l’appelant qui reçoit le code de retour que l’enregistreur a transmis pour le paramètre hrApplication de la méthode CVssWriterEx2 ::SetWriterFailureEx . Ce paramètre est facultatif et peut être NULL.

[out, optional] pbstrApplicationMessage

Adresse d’une variable qui reçoit le message d’échec de l’application que l’enregistreur a passé pour le paramètre wszApplicationMessage de la méthode SetWriterFailureEx . Ce paramètre est facultatif et peut être NULL.

Valeur retournée

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

Valeur Signification
S_OK
0x000000000L
La status de l’enregistreur spécifié a été retournée. Notez que la valeur du paramètre phrFailureWriter 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 d’écriture et les vétos.
E_INVALIDARG
0x80070057L
Le paramètre pnStatus, pidWriter, pbstrWriter ou pidInstance est NULL.
E_OUTOFMEMORY
0x8007000EL
L’appelant n’a pas de mémoire ou d’autres ressources système.
VSS_E_BAD_STATE
0x80042301L
L’objet de composants de sauvegarde n’est pas initialisé, cette méthode a été appelée lors d’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
0x80042308L
Le paramètre iWriter spécifie un enregistreur qui n’existe pas.

Remarques

Un demandeur doit appeler l’opération asynchrone IVssBackupComponents ::GatherWriterStatus et attendre qu’elle se termine avant d’appeler IVssBackupComponentsEx3 ::GetWriterStatusEx.

Si cette méthode retourne VSS_E_WRITERERROR_PARTIAL_FAILURE, le demandeur doit utiliser la méthode IVssComponentEx2 ::GetFailure pour récupérer les erreurs au niveau du composant.

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 les paramètres pbstrWriter et pbstrApplicationMessage.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête vsbackup.h (inclure VsBackup.h, Vss.h, VsWriter.h)

Voir aussi

CVssWriterEx2 ::SetWriterFailureEx

IVssBackupComponents ::GetWriterStatus

IVssBackupComponentsEx3