Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
'function': Ereignisschnittstelle kann nicht gefunden werden
Bemerkungen
Sie müssen eine Ereignisschnittstelle definieren, um COM-Ereignisse zu verwenden. Beachten Sie, dass die #include Zeilen der ATL-Headerdateien, die im folgenden Beispiel gezeigt werden, erforderlich sind, um COM-Ereignisse zu verwenden. Um diesen Fehler zu beheben, heben Sie die Auskommentierung der Definition der IEvents Schnittstelle im Beispielcode auf.
Example
Im folgenden Beispiel wird C3705 generiert:
// C3705.cpp
// compile with: /c
#define _ATL_ATTRIBUTES 1
#include <atlbase.h>
#include <atlcom.h>
#include <atlctl.h>
[module(dll, name="idid", uuid="12341234-1234-1234-1234-123412341234")];
// Uncomment the following 4 lines to resolve.
// [object, uuid("00000000-0000-0000-0000-000000000003")]
// __interface IEvents : IUnknown {
// HRESULT event1([in] int i);
// };
[dual, uuid("00000000-0000-0000-0000-000000000001")]
__interface IBase {
HRESULT fireEvents();
};
[coclass, event_source(com), uuid("00000000-0000-0000-0000-000000000002")]
class CEventSrc : public IBase {
public:
__event __interface IEvents; // C3705 uncomment IEvents to resolve
HRESULT fireEvents() {
HRESULT hr = IEvents_event1(123);
return hr;
}
};