The class driver calls StrMiniEvent to signal to a minidriver an event should be enabled or disabled.
NTSTATUS STREAMAPI
StrMiniEvent(
IN PHW_EVENT_DESCRIPTOR EventDescriptor
);
For event enable events, StrMiniEvent returns STATUS_SUCCESS if the event is successfully enabled, or an error code on failure. The class driver ignores the return value on disable requests.
Declared in strmini.h. Include strmini.h.
The class driver queues the KSEVENT_ENTRY structure it passes in EventDescriptor->EventEntry. Every other member of EventDescriptor is deallocated once StrMiniEvent exits, so any event-specific data contained in the EventData member of EventDescriptor that the minidriver needs to keep should be stored by the minidriver.
For that purpose, the minidriver can allocate space directly after the KSEVENT_ENTRY structure by providing a non-zero value in the ExtraEntryData member of the KSEVENT_ITEM structure it used to declare the event.