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 |