Condividi tramite


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

Nota Non si tratta di una versione ANSI della funzione RoTransformErrorW . Le stringhe dei messaggi devono essere Unicode.
 

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

RoOriginateErrorW

RoSetErrorReportingFlags

RoTransformError