EVT_SUBSCRIBE_CALLBACK Rückruffunktion (winevt.h)

Implementieren Sie diesen Rückruf, wenn Sie die EvtSubscribe-Funktion aufrufen, um Ereignisse zu empfangen, die Ihrer Abfrage entsprechen. Der Dienst ruft Ihren Rückruf auf, wenn Ereignisse ausgelöst werden, die Ihren Abfragekriterien entsprechen.

Syntax

EVT_SUBSCRIBE_CALLBACK EvtSubscribeCallback;

DWORD EvtSubscribeCallback(
  EVT_SUBSCRIBE_NOTIFY_ACTION Action,
  PVOID UserContext,
  EVT_HANDLE Event
)
{...}

Parameter

Action

Bestimmt, ob der Event-Parameter ein Ereignis oder einen Fehlercode enthält. Mögliche Benachrichtigungsaktionswerte finden Sie in der EVT_SUBSCRIBE_NOTIFY_ACTION-Enumeration .

UserContext

Der Kontext, den der Abonnent an die EvtSubscribe-Funktion übergeben hat.

Event

Ein Handle für das Ereignis. Das Ereignishandle ist nur für die Dauer der Rückruffunktion gültig. Sie können dieses Handle mit jeder Ereignisprotokollfunktion verwenden, die ein Ereignishandle akzeptiert (z. B . EvtRender oder EvtFormatMessage).

Rufen Sie EvtClose nicht auf, um dieses Handle zu schließen. Der Dienst schließt das Handle, wenn der Rückruf zurückgibt.

Wenn der Aktionsparameter EvtSubscribeActionError ist, wandeln Sie Event in ein DWORD um, um auf den Win32-Fehlercode zuzugreifen.

Rückgabewert

Der Dienst ignoriert den zurückgegebenen Code.

Hinweise

Durch diesen Rückruf wird verhindert, dass andere Ereignisse an Ihren Rückruf übermittelt werden, daher halten Sie Ihre Implementierung so kurz wie möglich.

Wenn beim Einrichten des Abonnements ein Fehler beim Dienst auftritt, erhält Ihr Rückruf keine Benachrichtigung, dass ein Fehler aufgetreten ist.

Wenn der Flags-Parameter von EvtSubscribe EvtSubscribeStrict enthält, erhält Ihr Rückruf eine Benachrichtigung, wenn Ereignisdatensätze fehlen. In diesem Fall wird der Wert von Event ERROR_EVT_QUERY_RESULT_STALE.

Um das Abonnement zu kündigen, müssen Sie das Abonnementhandle schließen, das die EvtSubscribe-Funktion zurückgibt.

Beispiele

Ein Beispiel, das EVT_SUBSCRIBE_CALLBACK Rückruffunktion implementiert, finden Sie unter Abonnieren von Ereignissen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winevt.h

Weitere Informationen

EvtSubscribe