Freigeben über


KsEnableEvent-Funktion (ks.h)

Die KsEnableEvent-Funktion aktiviert Ereignisse, die über IOCTL_KS_ENABLE_EVENT angefordert werden. Es reagiert auf alle Ereignisbezeichner, die von den Sätzen definiert werden. Diese Funktion kann nur bei PASSIVE_LEVEL aufgerufen werden.

Syntax

KSDDKAPI NTSTATUS KsEnableEvent(
  [in]           PIRP              Irp,
  [in]           ULONG             EventSetsCount,
  [in]           const KSEVENT_SET *EventSet,
  [in, out]      PLIST_ENTRY       EventsList,
  [in, optional] KSEVENTS_LOCKTYPE EventsFlags,
  [in, optional] PVOID             EventsLock
);

Parameter

[in] Irp

Gibt die IRP an, bei der die Aktivierungsanforderung verarbeitet wird. Das dem IRP zugeordnete Dateiobjekt wird mit dem Ereignis für einen späteren Vergleich beim Deaktivieren des Ereignisses gespeichert.

[in] EventSetsCount

Gibt die Anzahl der übergebenen Ereignissatzstrukturen an.

[in] EventSet

Gibt einen Zeiger auf die Liste der Ereignissatzinformationen an.

[in, out] EventsList

Wenn das aktivierend-Ereignis KSEVENT_SET. AddHandler für den Ereignissatz ist NULL. Er muss auf den Kopf der Liste der KSEVENT_ENTRY Elemente verweisen, zu denen das Ereignis hinzugefügt werden soll. Diese Funktion setzt eine einzelne Liste für mindestens eine Teilmenge von Ereignissen voraus.

[in, optional] EventsFlags

Gibt KSEVENTS_LOCKTYPE Flags an, die den Typ der Ausschlusssperre angeben, die beim Zugriff auf die Ereignisliste verwendet werden soll, falls vorhanden. Wenn kein Flag festgelegt ist, wird keine Sperre genommen. Wenn bereits ein Handler angegeben ist, wird dieser Parameter ignoriert.

[in, optional] EventsLock

Wenn der KSEVENT_SET. AddHandler für den Ereignissatz, der das aktivierte Ereignis enthält, ist NULL. Anschließend wird der Zugriff auf die Liste synchronisiert. Dieser Wert kann NULL sein, wenn in EventsFlags kein Flag festgelegt ist.

Rückgabewert

Die KsEnableEvent-Funktion gibt bei erfolgreicher Ausführung STATUS_SUCCESS oder einen für das aktivierte Ereignis spezifischen Fehler zurück, wenn der Fehler nicht erfolgreich ist. Die Funktion legt immer die IO_STATUS_BLOCK fest. Informationsfeld des PIRP. IoStatus-Element innerhalb des IRP auf Null. Die IO_STATUS_BLOCK wird nicht festgelegt. Statusfeld, noch wird die IRP abgeschlossen.

Hinweise

Minidriver rufen KsEnableEvent nicht auf. Nur ein reiner KS-Treiber oder ein Klassentreiber sollte diese Routine aufrufen.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ks.h (einschließlich Ks.h)
Bibliothek Ks.lib

Weitere Informationen

KsDisableEvent