Compartilhar via


Função RoOriginateErrorW (roerrorapi.h)

Relata um erro e uma cadeia de caracteres informativa para um depurador anexado.

Sintaxe

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

Parâmetros

[in] error

Tipo: HRESULT

O código de erro associado à condição de erro. Se o erro for um código de êxito, como S_OK, a função não terá efeito e retornará FALSE. Esse comportamento permite chamar a função quando nenhum erro ocorreu sem causar uma mensagem de erro indesejada.

[in] cchMax

Tipo: UINT

O número máximo de caracteres na mensagem, excluindo o caractere NUL de terminação. Se o valor for 0, a cadeia de caracteres será lida para o primeiro caractere NUL ou 512 caracteres, o que for menor. Se cchMax for maior que 512, todos os caracteres após 512 serão ignorados.

[in] message

Tipo: PCWSTR

Uma cadeia de caracteres informativa para ajudar os desenvolvedores a corrigir a condição de erro relatada. O comprimento máximo é de 512 caracteres, incluindo o caractere NUL à direita; cadeias de caracteres mais longas são truncadas.

Se a cadeia de caracteres estiver vazia, a função terá êxito, mas nenhuma informação de erro será relatada. É recomendável que você sempre forneça uma cadeia de caracteres informativa.

Se message for NULL, a função terá êxito e relatará a cadeia de caracteres genérica em Winerror.h se disponível ou a cadeia de caracteres genérica associada a E_FAIL.

Essa função não dá suporte a caracteres NUL inseridos, portanto, somente os caracteres antes do primeiro NUL são relatados.

A cadeia de caracteres de mensagem deve ser localizada.

Valor retornado

Tipo: BOOL

Código de retorno Descrição
TRUE
A mensagem de erro foi relatada com êxito.
FALSE
message é NULL ou aponta para uma cadeia de caracteres vazia ou error é um código de êxito.

Comentários

Use a função RoOriginateErrorW para relatar uma condição de erro e uma mensagem correspondente a um depurador. Essa função não executa o registro em log ou o rastreamento de eventos.

O erro é comunicado ao depurador gerando uma exceção estruturada. Essa exceção é capturada pelo depurador anexado e os parâmetros de exceção contêm o erro e a cadeia de caracteres de mensagem . O depurador pode exibir esses parâmetros para o usuário.

Dependendo da configuração atual do depurador, a função RoOriginateErrorW pode fazer com que a execução seja interrompida no depurador no site da exceção.

Se o sinalizador UseSetErrorInfo for definido chamando a função RoSetErrorReportingFlags e o thread de chamada tiver sido inicializado em COM, a função criará um objeto de erro apropriado que dá suporte a IRestrictedErrorInfo e o associará ao canal COM chamando SetErrorInfo. Se o thread não tiver sido inicializado em COM, a chamada ainda terá êxito sem nenhum erro, mas o erro não será associado ao canal COM.

Nota Esta não é uma versão ANSI da função RoOriginateErrorW . As cadeias de caracteres de mensagem precisam ser Unicode.
 

Requisitos

   
Cliente mínimo com suporte Windows 8 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho roerrorapi.h
Biblioteca RuntimeObject.lib

Confira também

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateError

RoSetErrorReportingFlags

RoTransformErrorW