RoOriginateError-Funktion (roerrorapi.h)

Meldet einen Fehler und eine informative Zeichenfolge an einen angefügten Debugger.

Syntax

BOOL RoOriginateError(
  [in] HRESULT error,
  [in] HSTRING message
);

Parameter

[in] error

Typ: HRESULT

Der Fehlercode, der der Fehlerbedingung zugeordnet ist. Wenn fehler ein Erfolgscode ist, z. B. 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] message

Typ: HSTRING

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, falls verfügbar, oder die generische Zeichenfolge , die E_FAIL zugeordnet ist.

Diese Funktion unterstützt keine eingebetteten NUL-Zeichen , sodass nur die Zeichen vor der ersten NUL gemeldet werden.

Die Nachrichtenzeichenfolge sollte lokalisiert werden.

Rückgabewert

Typ: BOOL

Rückgabecode Beschreibung
TRUE
Die Fehlermeldung wurde erfolgreich gemeldet.
FALSE
message ist NULL oder verweist auf eine leere Zeichenfolge, oder fehler ist ein Erfolgscode.

Hinweise

Verwenden Sie die RoOriginateError-Funktion , um eine Fehlerbedingung und eine entsprechende Meldung an einen Debugger zu melden. Diese Funktion führt keine Protokollierung oder Ereignisablaufverfolgung aus.

Der Fehler wird an den Debugger übermittelt, indem eine strukturierte Ausnahme ausgelöst wird. Diese Ausnahme wird vom angefügten Debugger abgefangen, und die Ausnahmeparameter enthalten sowohl den Fehler als auch die Meldungszeichenfolge . Der Debugger zeigt dem Benutzer möglicherweise diese Parameter an.

Abhängig von der aktuellen Konfiguration des Debuggers kann die RoOriginateError-Funktion dazu führen, dass die Ausführung im Debugger am Standort der Ausnahme angehalten wird.

Wenn das UseSetErrorInfo-Flag durch Aufrufen der RoSetErrorReportingFlags-Funktion festgelegt wird und der aufrufende Thread in COM initialisiert wurde, erstellt die Funktion ein geeignetes Fehlerobjekt, das IRestrictedErrorInfo unterstützt, und ordnet es dem COM-Kanal zu, indem SetErrorInfo aufgerufen wird. Wenn der Thread nicht in COM initialisiert wurde, ist der Aufruf weiterhin ohne Fehler erfolgreich, aber der Fehler wird nicht dem COM-Kanal zugeordnet.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile roerrorapi.h
Bibliothek RuntimeObject.lib

Weitere Informationen

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateErrorW

RoSetErrorReportingFlags

RoTransformError