RoOriginateLanguageException-Funktion (roerrorapi.h)
Meldet einen Fehler, eine informative Zeichenfolge und ein Fehlerobjekt an einen angefügten Debugger.
Syntax
BOOL RoOriginateLanguageException(
[in] HRESULT error,
[in, optional] HSTRING message,
[in] IUnknown *languageException
);
Parameter
[in] error
Der Fehlercode, der der Fehlerbedingung zugeordnet ist. Wenn fehler ein Erfolgscode ist, wie S_OK, hat die Funktion keine Auswirkung und gibt FALSE zurück. Dieses Verhalten ermöglicht das Aufrufen der Funktion, wenn kein Fehler aufgetreten ist, ohne eine unerwünschte Fehlermeldung zu verursachen.
[in, optional] message
Eine informative Zeichenfolge, die Entwicklern hilft, die gemeldete Fehlerbedingung zu korrigieren. Die maximale Länge beträgt 512 Zeichen, einschließlich des nachfolgenden NUL-Zeichens ; längere Zeichenfolgen werden abgeschnitten.
Wenn die Zeichenfolge leer ist, ist die Funktion erfolgreich, aber es werden keine Fehlerinformationen gemeldet. Es wird empfohlen, immer eine informative Zeichenfolge anzugeben.
Wenn die NachrichtNULL ist, ist die Funktion erfolgreich und meldet die generische Zeichenfolge in Winerror.h, sofern verfügbar, oder die generische Zeichenfolge , die E_FAIL zugeordnet ist.
Diese Funktion unterstützt keine eingebetteten NUL-Zeichen , sodass nur die Zeichen vor dem ersten NUL gemeldet werden.
Die Nachrichtenzeichenfolge sollte lokalisiert werden.
[in] languageException
Ein Fehlerobjekt, das prozessübergreifend apartment-agile, in-proc und marshall-by-value ist. Dieses Objekt sollte bei Bedarf ILanguageExceptionStackBackTrace und ILanguageExceptionTransform implementieren.
Rückgabewert
Rückgabecode | Beschreibung |
---|---|
|
Die Fehlermeldung wurde erfolgreich gemeldet. |
|
nachricht ist NULL oder zeigt auf eine leere Zeichenfolge, oder fehler ist ein Erfolgscode. |
Hinweise
Die RoOriginateLanguageException-Funktion verhält sich wie RoOriginateError , übernimmt jedoch einen anderen Parameter, der zusätzliche Informationen zum Fehler speichert. Sprachprojektionen verwenden diese Funktion, um Ausnahmeinformationen neben den COM-Fehlerinformationen zu speichern. Sprachprojektionen müssen ein IUnknown-Objekt erstellen, das alle erforderlichen Informationen enthält, um die Ausnahme zu einem späteren Zeitpunkt neu zu erstellen.
Das Fehlerobjekt muss prozessübergreifend apartment-agile, in-proc und marshall-by-value sein. Der Grund für diese Einschränkung ist, dass der Thread, von dem das Fehlerobjekt stammt, möglicherweise nicht mehr vorhanden ist, z. B. aufgrund eines CoUninitialize-Aufrufs , wenn die Fehlerinformationen abgerufen werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8.1 [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 R2 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | roerrorapi.h |
Bibliothek | RuntimeObject.lib |
DLL | ComBase.dll |