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