Compartilhar via


Estrutura EXCEPINFO (oaidl.h)

Descreve uma exceção que ocorreu durante IDispatch::Invoke.

Sintaxe

typedef struct tagEXCEPINFO {
  WORD      wCode;
  WORD      wReserved;
  BSTR      bstrSource;
  BSTR      bstrDescription;
  BSTR      bstrHelpFile;
  DWORD     dwHelpContext;
  ULONG_PTR pvReserved;
  ULONG_PTR pfnDeferredFillIn;
  SCODE     scode;
} EXCEPINFO, *LPEXCEPINFO;

Membros

wCode

O código de erro. Os códigos de erro devem ser maiores que 1000. Esse campo ou o campo de código devem ser preenchidos; o outro deve ser definido como 0.

wReserved

Reservado. Deve ser 0.

bstrSource

O nome da origem da exceção. Normalmente, isso é um nome de aplicativo. Esse campo deve ser preenchido pelo implementador de IDispatch.

bstrDescription

A descrição da exceção a ser exibida. Se nenhuma descrição estiver disponível, use nulo.

bstrHelpFile

O caminho do arquivo de ajuda totalmente qualificado. Se nenhuma Ajuda estiver disponível, use nulo.

dwHelpContext

A ID do contexto de ajuda.

pvReserved

Reservado. Precisa ser NULL.

pfnDeferredFillIn

Fornece preenchimento adiado. Se o preenchimento adiado não for desejado, esse campo deverá ser definido como nulo.

scode

Um valor retornado que descreve o erro. Esse campo ou wCode (mas não ambos) deve ser preenchido; o outro deve ser definido como 0. (Somente versões do Windows de 16 bits.)

Comentários

Use o campo pfnDeferredFillIn para permitir que um objeto adie o preenchimento dos campos bstrDescription, bstrHelpFile e dwHelpContext até que eles sejam necessários. Esse campo poderá ser usado, por exemplo, se carregar a cadeia de caracteres para o erro for uma operação demorada. Para usar o preenchimento adiado, o objeto coloca um ponteiro de função nesse slot e não preenche nenhum dos outros campos, exceto wCode, o que é necessário.

Para obter informações adicionais, o chamador passa a estrutura EXCEPINFO de volta para a função de retorno de chamada pexcepinfo , que preenche as informações adicionais. Quando o objeto ActiveX e o cliente ActiveX estão em processos diferentes, o objeto ActiveX chama pfnDeferredFillIn antes de retornar ao controlador.

Requisitos

Requisito Valor
Cabeçalho oaidl.h