Freigeben über


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
);

Die 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 wie S_OK sind, hat die Funktion keine Auswirkung und gibt FALSCH zurück.

[in] cchMax

Typ: UINT

Die maximale Anzahl von Zeichen in der Nachricht, mit Ausnahme des endenden Nullzeichens. Wenn der Wert 0 ist, wird die Zeichenfolge in das erste Nullzeichen 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, mit der Entwickler die gemeldete Fehlerbedingung korrigieren können. Die maximale Länge beträgt 512 Zeichen, einschließlich des nachfolgenden Nullzeichens; längere Zeichenfolgen werden abgeschnitten.

Wenn die Zeichenfolge leer ist, wird die Funktion erfolgreich ausgeführt, aber es werden keine Fehlerinformationen gemeldet. Es wird empfohlen, immer eine informative Zeichenfolge anzugeben.

Wenn die NachrichtNULL ist, wird die Funktion erfolgreich ausgeführt 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 NULL-Zeichen, sodass nur die Zeichen vor der ersten Null gemeldet werden.

Rückgabewert

Typ: BOOL-

Rückgabecode Description
TRUE
Die Fehlermeldung wurde erfolgreich gemeldet.
FALSCH
Die Nachricht ist NULL oder verweist auf eine leere Zeichenfolge, oder oldError und newError sind identisch, oder beide sind Erfolgscodes.

Bemerkungen

Verwenden Sie die RoTransformErrorW-Funktion , um einen benutzerdefinierten Fehlercode für eine vorhandene Fehlerbedingung zu ersetzen. Wenn beispielsweise die aktuelle Fehlerbedingung 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 RoSetErrorReportingFlags-Funktion festgelegt wird und der aufrufende Thread in COM initialisiert wurde, erstellt die Funktion ein entsprechendes Fehlerobjekt, das IRestrictedErrorInfo unterstützt und dem COM-Kanal durch Aufrufen von SetErrorInfo zuordnet. Wenn der Thread nicht in COM initialisiert wurde, wird der Aufruf ohne Fehler weiterhin erfolgreich ausgeführt, der Fehler wird jedoch nicht mit dem COM-Kanal verknüpft.

Anmerkung Dies ist keine ANSI-Version der RoTransformErrorW-Funktion . Nachrichtenzeichenfolgen müssen Unicode sein.
 

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 8 [Desktop-Apps | UWP-Apps]
Mindestanforderungen für unterstützte Server Windows Server 2012 [Desktop-Apps | UWP-Apps]
Zielplattform Fenster
Header roerrorapi.h
Library mincore.lib

Siehe auch

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateErrorW-

RoSetErrorReportingFlags-

RoTransformError-