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 |
---|---|
|
Die Fehlermeldung wurde erfolgreich gemeldet. |
|
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.
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 |