Funzione RoTransformError (roerrorapi.h)
Segnala un errore modificato e una stringa informativa a un debugger collegato.
Sintassi
BOOL RoTransformError(
[in] HRESULT oldError,
[in] HRESULT newError,
[in] HSTRING message
);
Parametri
[in] oldError
Tipo: HRESULT
Codice di errore originale associato alla condizione di errore.
[in] newError
Tipo: HRESULT
Codice di errore diverso 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] message
Tipo: HSTRING
Stringa informativa che consente agli sviluppatori di correggere la condizione di errore segnalata. La lunghezza massima è di 512 caratteri, incluso 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 sull'errore. È consigliabile fornire sempre una stringa informativa.
Se message è NULL, la funzione ha esito positivo e segnala la stringa generica in Winerror.h, se disponibile o la stringa generica associata a E_FAIL.
Sebbene la stringa di messaggio sia un HSTRING, la funzione RoTransformError non supporta caratteri Null incorporati, quindi vengono segnalati solo i caratteri prima del primo valore Null.
Valore restituito
Tipo: BOOL
Codice restituito | Descrizione |
---|---|
|
Il messaggio di errore è stato segnalato correttamente. |
|
message è NULL o punta a una stringa vuota oppure oldError e newError sono uguali oppure entrambi sono codici di operazione riuscita. |
Commenti
Utilizzare la funzione RoTransformError 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 a un debugger collegato.
Il comportamento della funzione RoTransformError è altrimenti uguale alla funzione RoTransformErrorW .
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à comunque esito positivo senza errori, 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 |