Share via


RoTransformErrorW, fonction (roerrorapi.h)

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

Syntaxe

BOOL RoTransformErrorW(
  [in] HRESULT oldError,
  [in] HRESULT newError,
  [in] UINT    cchMax,
  [in] PCWSTR  message
);

Paramètres

[in] oldError

Type : HRESULT

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

[in] newError

Type : HRESULT

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

[in] cchMax

Type : UINT

Nombre maximal de caractères dans le message, à l’exclusion du caractère null de fin. Si la valeur est 0, la chaîne est lue au premier caractère null ou à 512 caractères, selon la valeur la moins élevée. Si cchMax est supérieur à 512, tous les caractères après 512 sont ignorés.

[in] message

Type : PCWSTR

Chaîne informative pour aider les développeurs à 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 a la valeur 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.

Cette fonction ne prend pas en charge les caractères Null incorporés. Seuls les caractères avant la première valeur Null sont donc signalés.

Valeur retournée

Type : BOOL

Code de retour Description
TRUE
Le message d’erreur a été signalé avec succès.
FALSE
le message a la valeur 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 RoTransformErrorW pour remplacer un code d’erreur personnalisé par 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 RoTransformErrorW est sinon le même que celui de la fonction RoOriginateErrorW .

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.

Note Il ne s’agit pas de version ANSI de la fonction RoTransformErrorW . Les chaînes de message doivent être Unicode.
 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête roerrorapi.h

Voir aussi

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateErrorW

RoSetErrorReportingFlags

RoTransformError