Partilhar via


AtlReportError

Configura de interface de IErrorInfo 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] CLSID de O objeto que relata o erro.

  • lpszDesc
    [in] a cadeia de caracteres que descreve o erro. As versões Unicode especificam que lpszDesc é do tipo LPCOLESTR; a versão ANSI especifica um tipo de LPCSTR.

  • iid
    [in] O IID de interface que define o erro ou GUID_NULL se o erro é definido pelo sistema operacional.

  • hRes
    [in] HRESULT você deseja retornado para o chamador.

  • nID
    [in] o identificador do recurso onde a cadeia de caracteres de descrição de erro é armazenada. Esse valor deve encontrar-se entre 0x0200 e 0xFFFF, inclusiva. Em compilações de depuração, ASSERT resultará se nID não indexa uma cadeia de caracteres válido. Em construções de versão, a cadeia de caracteres de descrição de erro será “error” não definido.

  • dwHelpID
    [in] o identificador do contexto da ajuda para o erro.

  • lpszHelpFile
    [in] o caminho e o nome da ajuda arquivo a descrição do erro.

  • hInst
    [in] o identificador do recurso. Por padrão, este parâmetro é __AtlBaseModuleModule::GetResourceInstance, onde é __AtlBaseModuleModule a instância global de CAtlBaseModule ou uma classe derivada de ele.

Valor de retorno

Se o parâmetro de hRes é diferente de zero, retorna o valor de hRes. Se hRes é zero, então os primeiros quatro versões de retorno DISP_E_EXCEPTIONde AtlReportError . As duas versões mais recentes retornar o resultado de MAKE_HRESULT( 1, FACILITY_ITF, macronID ).

Comentários

O lpszDesc de cadeia de caracteres é usado como a descrição de texto de erro. Quando o cliente recebe hRes que você retorna de AtlReportError, o cliente pode acessar a estrutura de IErrorInfo 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");
}

Aviso

Não use AtlReportError em manipuladores catch C++.Substitui algumas de essas funções usam macros de conversão de cadeia de caracteres de ATL internamente, que usam por sua vez a função de _alloca internamente.Usar AtlReportError no manipulador de captura de C++ pode causar exceções em manipuladores catch C++.

Requisitos

Cabeçalho: atlcom.h

Consulte também

Referência

MAKE_HRESULT

Outros recursos

Funções globais de depuração e relatório de erros