PCEVENT_ITEM structure (portcls.h)
The PCEVENT_ITEM structure is used to describe an event that is supported by a particular filter, pin, or node.
Syntax
typedef struct {
const GUID *Set;
ULONG Id;
ULONG Flags;
PCPFNEVENT_HANDLER Handler;
} PCEVENT_ITEM, *PPCEVENT_ITEM;
Members
Set
Specifies the event set. This member is a pointer to a GUID that uniquely identifies the event set. See the list of event-set GUIDs in Audio Drivers Event Sets.
Id
Specifies the event ID. This member identifies an event item within the event set. If the event set contains N items, valid event IDs are integers in the range 0 to N-1.
Flags
Specifies the type of event. This member is set to one of the following values:
PCEVENT_ITEM_FLAG_ENABLE
Indicates the event notification should be enabled for this event type. The driver should continue event notification until the client explicitly disables it.
PCEVENT_ITEM_FLAG_ONESHOT
Indicates that the event notification should be enabled for the next occurrence of this event only. The client does not (and should not) disable the event once it has occurred.
PCEVENT_ITEM_FLAG_BASICSUPPORT
If the client specifies this flag, the driver returns STATUS_SUCCESS if it supports the event and an error code if it does not.
Handler
Pointer to the miniport driver's event-handler routine. This member is a function pointer of type PCPFNEVENT_HANDLER, which is defined as follows:
typedef NTSTATUS (*PCPFNEVENT_HANDLER)
(
IN PPCEVENT_REQUEST EventRequest
);
When calling the Handler routine, the caller passes in a single call parameter, which is a pointer to a caller-allocated PCEVENT_REQUEST structure.
Remarks
The PCEVENT_ITEM structure specifies a particular event item in an automation table. The PCAUTOMATION_TABLE structure points to an array of PCEVENT_ITEM structures.
In WDM audio, the target for an event request is either a pin instance or a node on a pin. A filter instance cannot be the target of an event request.
Requirements
Requirement | Value |
---|---|
Header | portcls.h (include Portcls.h) |