Freigeben über


RoOriginateErrorW-Funktion (roerrorapi.h)

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

Syntax

BOOL RoOriginateErrorW(
  [in] HRESULT error,
  [in] UINT    cchMax,
  [in] PCWSTR  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] cchMax

Typ: UINT

Die maximale Anzahl von Zeichen in der Nachricht, mit Ausnahme des endenden NUL-Zeichens . Wenn der Wert 0 ist, wird die Zeichenfolge in das erste NUL-Zeichen oder 512 Zeichen gelesen, je nachdem, was kleiner ist. Wenn cchMax größer als 512 ist, werden alle Zeichen nach 512 ignoriert.

[in] message

Typ: PCWSTR

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 RoOriginateErrorW-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 RoOriginateErrorW-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.

Hinweis Dies ist keine ANSI-Version der RoOriginateErrorW-Funktion . Nachrichtenzeichenfolgen müssen Unicode sein.
 

Anforderungen

   
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

RoOriginateError

RoSetErrorReportingFlags

RoTransformErrorW