Função RoOriginateLanguageException (roerrorapi.h)
Relata um erro, uma cadeia de caracteres informativa e um objeto de erro para um depurador anexado.
Sintaxe
BOOL RoOriginateLanguageException(
[in] HRESULT error,
[in, optional] HSTRING message,
[in] IUnknown *languageException
);
Parâmetros
[in] error
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, optional] message
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 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 NUL inseridos, portanto, somente os caracteres antes do primeiro NUL são relatados.
A cadeia de caracteres de mensagem deve ser localizada.
[in] languageException
Um objeto de erro que é apartment-agile, in-proc e marshal-by-value entre processos. Esse objeto deve implementar ILanguageExceptionStackBackTrace e ILanguageExceptionTransform , se necessário.
Retornar valor
Código de retorno | Descrição |
---|---|
|
A mensagem de erro foi relatada com êxito. |
|
message é NULL ou aponta para uma cadeia de caracteres vazia ou o erro é um código de êxito. |
Comentários
A função RoOriginateLanguageException se comporta como RoOriginateError , mas usa outro parâmetro que armazena informações extras sobre o erro. As projeções de linguagem usam essa função para armazenar informações de exceção junto com as informações de erro COM. As projeções de linguagem precisam criar um objeto IUnknown que contenha todas as informações necessárias para recriá-la a exceção mais tarde.
O objeto de erro deve ser apartment-agile, in-proc e marshal-by-value entre processos. O motivo dessa restrição é que o thread do qual o objeto de erro é originado pode não existir mais, por exemplo, devido a uma chamada CoUninitialize , no momento em que as informações de erro são recuperadas.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8.1 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2012 R2 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | roerrorapi.h |
Biblioteca | RuntimeObject.lib |
DLL | ComBase.dll |