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 |