COM
-
Hallo,
wie kann ich in meiner COM-Schnittstelle Enumerationen (enum) verwenden und somit meine Fehlercodes definieren?
Und wie kann ich diese Fehlercodes dann in einer meiner Methoden zurückgegeben?
Danke im voraus.
(Ein kleines Bsp. wäre nicht schlecht)
-
In COM verwendet man doch IErrorInfo bzw. ICreateErrorInfo
-
Aber ich will doch einfach Werte (vom Typ HResult) zurückgegeben, und da wären doch enumerationen die einfachste Möglcihkeite diese zu definieren.
typedef [v1_enum] enum { /* Benutzerdefinierte Fehlercodes ab 0x80040200 (Hex) */ err_NO_PROTOCOLPATH = 0x80040201, } INewsletterErrorCodes;
Aber wo mussich diese Enumeration einfügen um sie für den Anwender in Typbibliothekenbeschreibung (OLE-Viewer) sichtbar zu machen.
-
Auszug aus eine *.idl-Datei
[helpstring("Bitflags for Modifiable Behaviors")] enum { DAContinueTimeline = (1L << 0), DASwitchFinal = (1L << 1), DASwitchNextTick = (1L << 2), }; typedef enum {DAEmpty = 0, DASolid = 1, DADash = 2} DA_DASH_STYLE; [ uuid(9CADDC0C-AD56-11d1-9FF8-00C04FA32195), helpstring("DirectAnimation Behavior2"), local, object, pointer_default(unique), oleautomation, hidden, dual ] interface IDA2Behavior : IDABehavior { HRESULT SwitchToEx([in] IDABehavior * newBvr, [in] DWORD dwFlags); HRESULT ApplyPreference([in] BSTR pref, [in] VARIANT val, [out, retval] IDABehavior **bvr); HRESULT ExtendedAttrib([in] BSTR arg1, [in] VARIANT arg2, [out, retval] IDABehavior **ppResult); HRESULT LineDashStyle([in] DA_DASH_STYLE id); }
[ Dieser Beitrag wurde am 20.03.2003 um 12:19 Uhr von RenéG editiert. ]