Condividi tramite


Funzione RoOriginateErrorW (roerrorapi.h)

Segnala un errore e una stringa informativa a un debugger collegato.

Sintassi

BOOL RoOriginateErrorW(
  [in] HRESULT error,
  [in] UINT    cchMax,
  [in] PCWSTR  message
);

Parametri

[in] error

Tipo: HRESULT

Codice di errore associato alla condizione di errore. Se l'errore è un codice riuscito, ad esempio S_OK, la funzione non ha alcun effetto e restituisce FALSE. Questo comportamento consente di chiamare la funzione quando non si è verificato alcun errore senza causare un messaggio di errore indesiderato.

[in] cchMax

Tipo: UINT

Numero massimo di caratteri nel messaggio, escluso il carattere NUL di terminazione. Se il valore è 0, la stringa viene letta al primo carattere NUL o a 512 caratteri, a meno. Se cchMax è maggiore di 512, tutti i caratteri dopo 512 vengono ignorati.

[in] message

Tipo: PCWSTR

Stringa informativa che consente agli sviluppatori di correggere la condizione di errore segnalata. La lunghezza massima è di 512 caratteri, incluso il carattere NUL 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 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 i caratteri NUL incorporati, quindi vengono segnalati solo i caratteri prima del primo NUL .

La stringa del messaggio deve essere localizzata.

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 l'errore è un codice di operazione riuscita.

Commenti

Utilizzare la funzione RoOriginateErrorW per segnalare una condizione di errore e un messaggio corrispondente a un debugger. Questa funzione non esegue la registrazione o la traccia degli eventi.

L'errore viene comunicato al debugger generando un'eccezione strutturata. Questa eccezione viene intercettata dal debugger collegato e i parametri di eccezione contengono sia l'errore che la stringa del messaggio . Il debugger può visualizzare questi parametri all'utente.

A seconda della configurazione corrente del debugger, la funzione RoOriginateErrorW può causare l'arresto dell'esecuzione nel debugger nel sito dell'eccezione.

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.

Nota Non si tratta di una versione ANSI della funzione RoOriginateErrorW . Le stringhe di messaggio devono essere Unicode.
 

Requisiti

   
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
Libreria RuntimeObject.lib

Vedi anche

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateError

RoSetErrorReportingFlags

RoTransformErrorW