Freigeben über


EXCEPINFO-Struktur (oaidl.h)

Beschreibt eine Ausnahme, die während IDispatch::Invoke aufgetreten ist.

Syntax

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;

Member

wCode

Der Fehlercode. Fehlercodes sollten größer als 1000 sein. Entweder dieses Feld oder das Scodefeld muss ausgefüllt werden. die andere muss auf 0 festgelegt werden.

wReserved

Reserviert. Muss 0 sein.

bstrSource

Der Name der Ausnahmequelle. In der Regel ist dies ein Anwendungsname. Dieses Feld sollte vom Implementierer von IDispatch ausgefüllt werden.

bstrDescription

Die anzuzeigende Ausnahmebeschreibung. Wenn keine Beschreibung verfügbar ist, verwenden Sie NULL.

bstrHelpFile

Der vollqualifizierte Hilfedateipfad. Wenn keine Hilfe verfügbar ist, verwenden Sie NULL.

dwHelpContext

Die Hilfekontext-ID.

pvReserved

Reserviert. Muss NULL sein.

pfnDeferredFillIn

Stellt verzögerte Füllung bereit. Wenn verzögerte Füllung nicht gewünscht ist, sollte dieses Feld auf NULL festgelegt werden.

scode

Ein Rückgabewert, der den Fehler beschreibt. Entweder dieses Feld oder wCode (aber nicht beide) muss ausgefüllt werden; die andere muss auf 0 festgelegt werden. (Nur 16-Bit-Windows-Versionen.)

Hinweise

Verwenden Sie das Feld pfnDeferredFillIn , um ein Objekt zu aktivieren, um das Ausfüllen der Felder bstrDescription, bstrHelpFile und dwHelpContext zurückstellen zu können, bis sie benötigt werden. Dieses Feld kann beispielsweise verwendet werden, wenn das Laden der Zeichenfolge für den Fehler zeitaufwendig ist. Um verzögertes Ausfüllen zu verwenden, legt das Objekt einen Funktionszeiger in diesen Slot und füllt keines der anderen Felder mit Ausnahme von wCode aus, was erforderlich ist.

Um zusätzliche Informationen zu erhalten, übergibt der Aufrufer die EXCEPINFO-Struktur zurück an die Rückruffunktion pexcepinfo , die die zusätzlichen Informationen eingibt. Wenn sich das ActiveX-Objekt und der ActiveX-Client in unterschiedlichen Prozessen befinden, ruft das ActiveX-Objekt pfnDeferredFillIn auf, bevor es zum Controller zurückkehrt.

Anforderungen

Anforderung Wert
Header oaidl.h