// strmini.h
typedef struct _HW_EVENT_DESCRIPTOR {
BOOLEAN Enable;
PKSEVENT_ENTRY EventEntry;
PKSEVENTDATA EventData;
union {
#if ...
_HW_STREAM_OBJECT *StreamObject;
#else
struct _HW_STREAM_OBJECT *StreamObject;
#endif
#if ...
_HW_DEVICE_EXTENSION *DeviceExtension;
#else
struct _HW_DEVICE_EXTENSION *DeviceExtension;
#endif
};
ULONG EnableEventSetIndex;
PVOID HwInstanceExtension;
#if ...
ULONG Reserved;
#else
ULONG Reserved[2];
#endif
} HW_EVENT_DESCRIPTOR, *PHW_EVENT_DESCRIPTOR;
View the official Windows Driver Kit DDI referenceNo description available.
When the class driver calls one of the minidriver's StrMiniEvent routines, it passes a pointer to an HW_EVENT_DESCRIPTOR structure to describe the event as enabled or disabled.
EnableThis is set to TRUE for an enabled event, and FALSE for a disabled event.
EventEntryPoints to the KSEVENT_ENTRY structure that describes this event.
EventDataPoints to the KSEVENTDATA structure that describes this instance of the event.
StreamObjectPoints to the HW_STREAM_OBJECT for the stream that owns the event that the class driver is enabling/disabling, or NULL if the event belongs to the driver as a whole.
DeviceExtensionPoints to the minidriver's device extension.
EnableEventSetIndexFor stream events, this specifies the index of the event set within the StreamEventsArray member of the stream's HW_STREAM_INFORMATION structure.
For device events, this specifies the index of the event set within the DeviceEventsArray member of the minidriver's HW_STREAM_HEADER structure.
HwInstanceExtensionPointer to the minidriver's instance extension. The minidriver may use this buffer to record private information global to this instance of the minidriver. The minidriver sets the size of this buffer in the HW_INITIALIZATION_DATA structure it passes when it registers itself via StreamClassRegisterMinidriver.
ReservedReserved for system use. Do not use.
Reserved[2]Reserved for system use. Do not use.