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
TRUE
Die Fehlermeldung wurde erfolgreich gemeldet.
FALSE
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

Weitere Informationen

RoOriginateError