Compartilhar via


Função RoTransformErrorW (roerrorapi.h)

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

Sintaxe

BOOL RoTransformErrorW(
  [in] HRESULT oldError,
  [in] HRESULT newError,
  [in] UINT    cchMax,
  [in] PCWSTR  message
);

Parâmetros

[in] oldError

Tipo: HRESULT

O código de erro original associado à condição de erro.

[in] newError

Tipo: HRESULT

O código de erro personalizado a ser associado à condição de erro. Se oldError e newError forem iguais ou ambos forem códigos de êxito, como S_OK, a função não terá efeito e retornará FALSE.

[in] cchMax

Tipo: UINT

O número máximo de caracteres na mensagem, excluindo o caractere nulo de terminação. Se o valor for 0, a cadeia de caracteres será lida para o primeiro caractere nulo 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 nulo à 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 a mensagem 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 nulos inseridos, portanto, somente os caracteres antes do primeiro nulo são relatados.

Retornar valor

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 oldError e newError são iguais ou ambos são códigos de êxito.

Comentários

Use a função RoTransformErrorW para substituir um código de erro personalizado por uma condição de erro existente. Por exemplo, se a condição de erro atual for E_FAIL, você poderá substituir um código de erro mais específico, como E_FILENOTFOUND e relatar o erro transformado para um depurador anexado.

O comportamento da função RoTransformErrorW é, de outra forma, o mesmo que a função RoOriginateErrorW .

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 RoTransformErrorW . As cadeias de caracteres de mensagem são necessárias para serem Unicode.
 

Requisitos

Requisito Valor
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

Confira também

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateErrorW

RoSetErrorReportingFlags

RoTransformError