Partager via


RoTransformError, fonction (roerrorapi.h)

Signale une erreur modifiée et une chaîne informative à un débogueur attaché.

Syntaxe

BOOL RoTransformError(
  [in] HRESULT oldError,
  [in] HRESULT newError,
  [in] HSTRING message
);

Paramètres

[in] oldError

Type : HRESULT

Code d’erreur d’origine associé à la condition d’erreur.

[in] newError

Type : HRESULT

Code d’erreur différent à associer à la condition d’erreur. Si oldError et newError sont identiques, ou les deux sont des codes de réussite, tels que S_OK, la fonction n’a aucun effet et retourne FALSE.

[in] message

Type : HSTRING

Chaîne informative permettant aux développeurs de corriger la condition d’erreur signalée. La longueur maximale est de 512 caractères, y compris le caractère null de fin ; les chaînes plus longues sont tronquées.

Si la chaîne est vide, la fonction réussit, mais aucune information d’erreur n’est signalée. Il est recommandé de toujours fournir une chaîne informative.

Si le message est NULL, la fonction réussit et signale la chaîne générique dans Winerror.h si disponible ou la chaîne générique associée à E_FAIL.

Bien que la chaîne de message soit un HSTRING, la fonction RoTransformError ne prend pas en charge les caractères null incorporés, de sorte que seuls les caractères avant la première valeur null sont signalés.

Valeur retournée

Type : BOOL

Code de retour Descriptif
VRAI
Le message d’erreur a été signalé avec succès.
FAUX
le message est NULL ou pointe vers une chaîne vide, ou oldError et newError sont identiques, ou les deux sont des codes de réussite.

Remarques

Utilisez la fonction RoTransformError pour remplacer un code d’erreur personnalisé pour une condition d’erreur existante. Par exemple, si la condition d’erreur actuelle est E_FAIL, vous pouvez remplacer un code d’erreur plus spécifique, tel que E_FILENOTFOUND, et signaler l’erreur transformée à un débogueur attaché.

Le comportement de la fonction RoTransformError est sinon identique à la fonction RoTransformErrorW .

Si l’indicateur UseSetErrorInfo est défini en appelant la fonction RoSetErrorReportingFlags et que le thread appelant a été initialisé dans COM, la fonction crée un objet d’erreur approprié qui prend en charge IRestrictedErrorInfo et l’associe au canal COM en appelant SetErrorInfo. Si le thread n’a pas été initialisé dans COM, l’appel réussit toujours sans erreur, mais l’erreur n’est pas associée au canal COM.

Spécifications

Requirement Valeur
Client minimum requis Windows 8 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau | Applications UWP]
plateforme cible Fenêtres
Header roerrorapi.h
Library mincore.lib

Voir aussi

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateError

RoSetErrorReportingFlags

roTransformErrorW