Fonction RoOriginateLanguageException (roerrorapi.h)
Signale une erreur, une chaîne d’information et un objet d’erreur à un débogueur attaché.
Syntaxe
BOOL RoOriginateLanguageException(
[in] HRESULT error,
[in, optional] HSTRING message,
[in] IUnknown *languageException
);
Paramètres
[in] error
Code d’erreur associé à la condition d’erreur. Si l’erreur est un code de réussite, comme S_OK, la fonction n’a aucun effet et retourne FALSE. Ce comportement permet d’appeler la fonction lorsqu’aucune erreur ne s’est produite sans provoquer de message d’erreur indésirable.
[in, optional] message
Chaîne d’information 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 NUL 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 d’information.
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 NUL incorporés. Par conséquent, seuls les caractères avant le premier NUL sont signalés.
La chaîne de message doit être localisée.
[in] languageException
Objet d’erreur qui est apartment-agile, in-proc et marshal-by-value entre les processus. Cet objet doit implémenter ILanguageExceptionStackBackTrace et ILanguageExceptionTransform si nécessaire.
Valeur retournée
Code de retour | Description |
---|---|
|
Le message d’erreur a été signalé avec succès. |
|
message a la valeur NULL ou pointe vers une chaîne vide, ou l’erreur est un code de réussite. |
Remarques
La fonction RoOriginateLanguageException se comporte comme RoOriginateError , mais prend un autre paramètre qui stocke des informations supplémentaires sur l’erreur. Les projections de langage utilisent cette fonction pour stocker des informations d’exception en même temps que les informations d’erreur COM. Les projections de langage doivent créer un objet IUnknown qui contient toutes les informations nécessaires pour recréer l’exception ultérieurement.
L’objet d’erreur doit être apartment-agile, in-proc et marshal-by-value entre les processus. La raison de cette restriction est que le thread d’origine de l’objet d’erreur peut ne plus exister, par exemple en raison d’un appel CoUninitialize , au moment où les informations d’erreur sont récupérées.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8.1 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2012 R2 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | roerrorapi.h |
Bibliothèque | RuntimeObject.lib |
DLL | ComBase.dll |