AtlReportError

Configura o IErrorInfo interface para fornecer informações de erro para clientes do objeto.

HRESULT WINAPI AtlReportError(
   const CLSID& clsid,
   LPCOLESTR lpszDesc,
   const IID& iid = GUID_NULL,
   HRESULT hRes = 0 
);
HRESULT WINAPI AtlReportError(
   const CLSID& clsid,
   LPCOLESTR lpszDesc,
   DWORD dwHelpID,
   LPCOLESTR lpszHelpFile,
   const IID& iid = GUID_NULL,
   HRESULT hRes = 0 
);
HRESULT WINAPI AtlReportError(
   const CLSID& clsid,
   LPCSTR lpszDesc,
   const IID& iid = GUID_NULL,
   HRESULT hRes = 0 
);
HRESULT WINAPI AtlReportError(
   const CLSID& clsid,
   LPCSTR lpszDesc,
   DWORD dwHelpID,
   LPCSTR lpszHelpFile,
   const IID& iid = GUID_NULL,
   HRESULT hRes = 0 
);
HRESULT WINAPI AtlReportError(
   const CLSID& clsid,
   UINT nID,
   const IID& iid = GUID_NULL,
   HRESULT hRes = 0,
   HINSTANCE hInst = _AtlBaseModule.GetResourceInstance( )
);
HRESULT WINAPI AtlReportError(
   const CLSID& clsid,
   UINT nID,
   DWORD dwHelpID,
   LPCOLESTR lpszHelpFile,
   const IID& iid = GUID_NULL,
   HRESULT hRes = 0,
   HINSTANCE hInst = _AtlBaseModule.GetResourceInstance( )
);

Parâmetros

  • clsid
    [in] O CLSID do objeto informando o erro.

  • lpszDesc
    [in] A seqüência de caracteres descrevendo o erro.As versões Unicode especificar que lpszDesc é do tipo LPCOLESTR; o ANSI versão Especifica um tipo de LPCSTR.

  • iid
    [in] O IID da interface definindo o erro ou GUID_NULL Se o erro é definido pelo sistema operacional.

  • hRes
    [in] The HRESULT você deseja que seja retornada ao chamador.

  • nID
    [in] O identificador de recurso onde a seqüência de caracteres de descrição do erro está armazenada.Esse valor deve estar entre 0x0200 e 0xFFFF, inclusive.Em compilações de depurar, um DECLARAR resultará se nID não indexa uma cadeia de caracteres válida. Nas compilações lançadas, a seqüência de caracteres de descrição de erro será definida como "Erro desconhecido".

  • dwHelpID
    [in] O identificador de contexto de ajuda para o erro.

  • lpszHelpFile
    [in] O caminho e o nome do arquivo de Ajuda descrevendo o erro.

  • hInst
    [in] O identificador para o recurso.Por padrão, este parâmetro é __AtlBaseModuleModule::GetResourceInstance, where __AtlBaseModuleModule é a instância global da CAtlBaseModule ou uma classe derivado dele.

Valor de retorno

Se o hRes parâmetro é diferente de zero, retorna o valor de hRes. If hRes for zero, as quatro primeiras versões do AtlReportError retornar DISP_E_EXCEPTION. As duas últimas versões retornam o resultado da macro MAKE_HRESULT FACILITY_ITF, (1, nID ).

Comentários

A seqüência de caracteres lpszDesc é usado sistema autônomo a descrição de texto do erro.Quando o cliente recebe o hRes você retornar a partir de AtlReportError, o cliente pode acessar o IErrorInfo estrutura para obter detalhes sobre o erro.

Exemplo

STDMETHODIMP CMyControl::MyErrorProneMethod()
{
   BOOL bSucceeded = ErrorProneFunc();
   if (bSucceeded)
      return S_OK;
   else
      // hRes is set to DISP_E_EXCEPTION
      return AtlReportError(GetObjectCLSID(), L"My error message");
}
Cuidado:

Não use AtlReportError no C++ catch manipuladores. Algumas substituições dessas funções usar macros ATL seqüência conversão internamente, que por sua vez usar o _alloca funcione internamente. Usando AtlReportError em um problema de C++ manipulador pode causar exceções C++ catch manipuladores.

Requisitos

Cabeçalho: atlcom.h

Consulte também

Referência

MAKE_HRESULT

Outros recursos

Depuração e erro relatório funções global