Compartir a través de


Estructura EXCEPINFO (oaidl.h)

Describe una excepción que se produjo durante IDispatch::Invoke.

Sintaxis

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;

Miembros

wCode

Código de error. Los códigos de error deben ser mayores que 1000. Este campo o el campo de código deben rellenarse; el otro debe establecerse en 0.

wReserved

Reservado. Debe ser 0.

bstrSource

Nombre del origen de la excepción. Normalmente se trata del nombre de una aplicación. El implementador de IDispatch debe rellenar este campo.

bstrDescription

Descripción de la excepción que se va a mostrar. Si no hay ninguna descripción disponible, use null.

bstrHelpFile

Ruta de acceso completa del archivo de ayuda. Si no hay ayuda disponible, use null.

dwHelpContext

Identificador de contexto de ayuda.

pvReserved

Reservado. Debe ser NULL.

pfnDeferredFillIn

Proporciona relleno diferido. Si no se desea el relleno diferido, este campo debe establecerse en NULL.

scode

Valor devuelto que describe el error. Este campo o wCode (pero no ambos) deben rellenarse; el otro debe establecerse en 0. (solo versiones de Windows de 16 bits).

Comentarios

Use el campo pfnDeferredFillIn para permitir que un objeto aplaza el relleno de los campos bstrDescription, bstrHelpFile y dwHelpContext hasta que sean necesarios. Este campo se puede usar, por ejemplo, si cargar la cadena para el error es una operación que consume mucho tiempo. Para usar el relleno diferido, el objeto coloca un puntero de función en esta ranura y no rellena ninguno de los demás campos excepto wCode, que es necesario.

Para obtener información adicional, el llamador vuelve a pasar la estructura EXCEPINFO a la función de devolución de llamada pexcepinfo , que rellena la información adicional. Cuando el objeto ActiveX y el cliente ActiveX están en procesos diferentes, el objeto ActiveX llama a pfnDeferredFillIn antes de volver al controlador.

Requisitos

Requisito Valor
Header oaidl.h