SetErrorInfo
9/8/2008
Essa função define o objeto informações de erro para o atual segmento de execução.
Syntax
HRESULT SetErrorInfo(
DWORD dwReserved,
IErrorInfo* perrinfo
);
Parameters
- dwReserved
[no] Reservado para uso futuro; Deve definir como zero.
- perrinfo
[no] Ponteiro para um objeto de erro que ofereça suporte a IErrorInfo.
Return Value
Retorna o valor HRESULT S_OK se bem-sucedido.
Remarks
Essa função libera o objeto informações de erro existentes, se existe um e define o ponteiro para perrinfo.
Use esta função depois de criar um objeto de erro que associa o objeto com o atual segmento de execução.
Se a propriedade ou método que chama SetErrorInfo é chamado por DispInvoke, DispInvoke faz o seguinte:
- Preenche o parâmetro EXCEPINFO com os valores especificados no objeto de informações de erro
- Retorna DISP_E_EXCEPTION quando a propriedade ou método retorna um valor falha para DispInvoke.
Função Virtual tabela (VTBL) ligação controladores que não são usados IDispatch::Invoke Pode get o objeto informações de erro usando GetErrorInfo. Isso permite que um objeto que ofereça suporte a uma interface dupla para usar SetErrorInfo, independentemente se o cliente usa ligação VTBL ou IDispatch.
Passagem inválido (e, em algumas circunstâncias NULL) ponteiros para essa função faz com que uma terminação inesperada do aplicativo.
Example
O seguinte exemplo codificar mostra como usar o SetErrorInfo função.
Para usar essa função corretamente, verifique se você possui uma estrutura EXCEPINFO que é preenchida com informações sobre a exceção que ocorreu.
ICreateErrorInfo *pcerrinfo;
IErrorInfo *perrinfo;
HRESULT hr;
hr = CreateErrorInfo(&pcerrinfo);
hr = pcerrinfo->SetGUID(IID_IHello);
hr = pcerrinfo->SetSource(m_excepinfo.bstrSource);
hr = pcerrinfo->SetDescription(m_excepinfo.bstrDescription);
hr = pcerrinfo->SetHelpFile(NULL);
hr = pcerrinfo->SetHelpContext(0);
hr = pcerrinfo->QueryInterface(IID_IErrorInfo, (LPVOID FAR*) &perrinfo);
if (SUCCEEDED(hr))
{
SetErrorInfo(0, perrinfo);
perrinfo->Release();
}
pcerrinfo->Release();
Requirements
Header | oleauto.h |
Library | oleaut32.lib |
Windows Embedded CE | Windows CE 1.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
Automation Functions
DispInvoke
IDispatch::Invoke
GetErrorInfo
IDispatch