Compartilhar via


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
TRUE
A mensagem de erro foi relatada com êxito.
FALSE
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

Confira também

RoOriginateError