Freigeben über


RoTransformError-Funktion (roerrorapi.h)

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

Syntax

BOOL RoTransformError(
  [in] HRESULT oldError,
  [in] HRESULT newError,
  [in] HSTRING message
);

Parameter

[in] oldError

Typ: HRESULT

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

[in] newError

Typ: HRESULT

Ein anderer 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] 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 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.

Obwohl die Nachrichtenzeichenfolge ein HSTRING ist, unterstützt die RoTransformError-Funktion keine eingebetteten NULL-Zeichen, 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 RoTransformError-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 wie E_FILENOTFOUND ersetzen und den transformierten Fehler an einen angefügten Debugger melden.

Das Verhalten der RoTransformError-Funktion entspricht andernfalls der RoTransformErrorW-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.

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

RoOriginateError

RoSetErrorReportingFlags

RoTransformErrorW