Funzione RoTransformErrorW (roerrorapi.h)
Segnala un errore trasformato e una stringa informativa a un debugger collegato.
Sintassi
BOOL RoTransformErrorW(
[in] HRESULT oldError,
[in] HRESULT newError,
[in] UINT cchMax,
[in] PCWSTR message
);
Parametri
[in] oldError
Tipo: HRESULT
Codice di errore originale associato alla condizione di errore.
[in] newError
Tipo: HRESULT
Codice errore personalizzato da associare alla condizione di errore. Se oldError e newError sono uguali o entrambi sono codici di esito positivo, ad esempio S_OK, la funzione non ha alcun effetto e restituisce FALSE.
[in] cchMax
Tipo: UINT
Numero massimo di caratteri nel messaggio, escluso il carattere Null di terminazione. Se il valore è 0, la stringa viene letto al primo carattere Null o a 512 caratteri, minore. Se cchMax è maggiore di 512, tutti i caratteri dopo 512 vengono ignorati.
[in] message
Tipo: PCWSTR
Stringa informativa per consentire agli sviluppatori di correggere la condizione di errore segnalata. La lunghezza massima è di 512 caratteri, tra cui il carattere null finale; le stringhe più lunghe vengono troncate.
Se la stringa è vuota, la funzione ha esito positivo ma non viene segnalata alcuna informazione di errore. È consigliabile specificare sempre una stringa informativa.
Se il messaggio è NULL, la funzione ha esito positivo e segnala la stringa generica in Winerror.h se disponibile o la stringa generica associata a E_FAIL.
Questa funzione non supporta caratteri Null incorporati, quindi solo i caratteri prima del primo valore Null vengono segnalati.
Valore restituito
Tipo: BOOL
Codice restituito | Descrizione |
---|---|
|
Il messaggio di errore è stato segnalato correttamente. |
|
il messaggio è NULL o punta a una stringa vuota o oldError e newError sono uguali o entrambi sono codici di esito positivo. |
Commenti
Usare la funzione RoTransformErrorW per sostituire un codice di errore personalizzato per una condizione di errore esistente. Ad esempio, se la condizione di errore corrente è E_FAIL, è possibile sostituire un codice di errore più specifico, ad esempio E_FILENOTFOUND e segnalare l'errore trasformato in un debugger collegato.
Il comportamento della funzione RoTransformErrorW è altrimenti uguale alla funzione RoOriginateErrorW .
Se il flag UseSetErrorInfo viene impostato chiamando la funzione RoSetErrorReportingFlags e il thread chiamante è stato inizializzato in COM, la funzione crea un oggetto errore appropriato che supporta IRestrictedErrorInfo e lo associa al canale COM chiamando SetErrorInfo. Se il thread non è stato inizializzato in COM, la chiamata avrà esito positivo senza alcun errore, ma l'errore non verrà associato al canale COM.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2012 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | roerrorapi.h |