KSEVENT_PINCAPS_FORMATCHANGE
The KSEVENT_PINCAPS_FORMATCHANGE
event indicates to the audio stack that the audio data format for the audio device has changed.
Usage Summary Table
Target | Event descriptor type | Event value type |
---|---|---|
Pin |
The event value type (operation data) is a KSEVENTDATA structure that specifies the notification method to use for this event.
Remarks
When an audio port driver calls the EventHandler routine for its miniport driver, it passes a PCEVENT_REQUEST structure. This structure contains a pointer to a PCEVENT_ITEM structure that is used to describe an event that is supported by a filter, pin, or node.
So, for example, a driver that supports the KSEVENT_PINCAPS_FORMATCHANGE
event must populate a PCEVENT_ITEM structure as follows:
static PCEVENT_ITEM FormatChangePinEvent[] = {
{
&KSEVENTSETID_PinCapsChange,
KSEVENT_PINCAPS_FORMATCHANGE,
KSEVENT_TYPE_ENABLE | KSEVENT_TYPE_BASICSUPPORT,
MyEventHandler
}
};
In the preceding code example, the MyEventHandler custom event handler must monitor the KSEVENT_PINCAPS_FORMATCHANGE
event and register it with Portcls when KSEVENT_PINCAPS_FORMATCHANGE is triggered. The miniport driver must call the IPortEvents::AddEventToEventList method to register the event.
To obtain a description of the pins, nodes, connections and properties supported by the miniport driver, the port driver calls the IMiniport::GetDescription method. This method call returns a PCFILTER_DESCRIPTOR structure that points to an automation table (PCAUTOMATION_TABLE). The PCAUTOMATION_TABLE structure has an Events member. This member points to an array of the events that are associated with the filter that the miniport driver supports. So you must set the Events member to point to the event array that contains the PCEVENT_ITEM structure for the KSEVENT_PINCAPS_FORMATCHANGE
event.
When the miniport driver detects a dynamic format change, it must call the IPortEvents::GenerateEventList method to signal the KSEVENT_PINCAPS_FORMATCHANGE
event.
Requirements
Version |
Available in Windows 7 and later versions of the Windows operating systems. |
Header |
Ks.h (include Ks.h) |
See also
IPortEvents::AddEventToEventList