RoTransformErrorW-Funktion (roerrorapi.h)

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

Syntax

BOOL RoTransformErrorW(
  [in] HRESULT oldError,
  [in] HRESULT newError,
  [in] UINT    cchMax,
  [in] PCWSTR  message
);

Parameter

[in] oldError

Typ: HRESULT

Der ursprüngliche Fehlercode, der der Fehlerbedingung zugeordnet ist.

[in] newError

Typ: HRESULT

Der benutzerdefinierte Fehlercode, der der Fehlerbedingung zugeordnet werden soll. Wenn oldError und newError identisch sind oder beide Erfolgscodes sind, z. B. S_OK, hat die Funktion keine Auswirkung und gibt FALSE zurück.

[in] cchMax

Typ: UINT

Die maximale Anzahl von Zeichen in der Nachricht, mit Ausnahme des beendenden NULL-Zeichens. Wenn der Wert 0 ist, wird die Zeichenfolge in das erste NULL-Zeichen oder 512 Zeichen gelesen, je nachdem, welcher Wert 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 NULL-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 eingebettete NULL-Zeichen nicht, sodass nur die Zeichen vor dem ersten NULL-Wert gemeldet werden.

Rückgabewert

Typ: BOOL

Rückgabecode Beschreibung
TRUE
Die Fehlermeldung wurde erfolgreich gemeldet.
FALSE
die Nachricht ist NULL oder zeigt auf eine leere Zeichenfolge, oder oldError und newError sind identisch, oder beides sind Erfolgscodes.

Hinweise

Verwenden Sie die RoTransformErrorW-Funktion , um einen benutzerdefinierten Fehlercode durch eine vorhandene Fehlerbedingung zu ersetzen. Wenn die aktuelle Fehlerbedingung beispielsweise E_FAIL ist, können Sie einen spezifischeren Fehlercode ersetzen, z. B. E_FILENOTFOUND und den transformierten Fehler an einen angefügten Debugger melden.

Das Verhalten der RoTransformErrorW-Funktion ist andernfalls identisch mit der RoOriginateErrorW-Funktion .

Wenn das UseSetErrorInfo-Flag durch Aufrufen der Funktion RoSetErrorReportingFlags festgelegt wird und der aufrufende Thread in COM initialisiert wurde, erstellt die Funktion ein geeignetes Fehlerobjekt, das IRestrictedErrorInfo unterstützt und es dem COM-Kanal ordnet, 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 RoTransformErrorW-Funktion . Nachrichtenzeichenfolgen müssen Unicode sein.
 

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

Weitere Informationen

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateErrorW

RoSetErrorReportingFlags

RoTransformError