Condividi tramite


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
TRUE
Il messaggio di errore è stato segnalato correttamente.
FALSE
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

Vedi anche

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateError

RoSetErrorReportingFlags

RoTransformErrorW