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, die Ihren Abfragekriterien entsprechen, ausgelöst werden.

Syntax

EVT_SUBSCRIBE_CALLBACK EvtSubscribeCallback;

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

Parameter

Action

Bestimmt, ob der Ereignisparameter 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 diesen Handle mit jeder Ereignisprotokollfunktion verwenden, die ein Ereignishandle verwendet (z. B. EvtRender oder EvtFormatMessage).

Rufen Sie EvtClose nicht auf, um diesen Handle zu schließen; der Dienst schließt den Handle, wenn der Rückruf zurückgibt.

Wenn der Parameter "Action" "EvtSubscribeActionError" lautet, wandeln Sie "Event " in ein DWORD um auf den Win32-Fehlercode zuzugreifen.

Rückgabewert

Der Dienst ignoriert den zurückgegebenen Rückgabecode.

Hinweise

Dieser Rückruf blockiert, dass andere Ereignisse an Ihren Rückruf übermittelt werden, sodass Ihre Implementierung so kurz wie möglich bleibt.

Wenn beim Einrichten des Abonnements ein Fehler 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 Benachrichtigung, wenn Ereignisdatensätze fehlen. In diesem Fall wird der Wert des Ereignisses ERROR_EVT_QUERY_RESULT_STALE.

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

Beispiele

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

Anforderungen

   
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