The KSPROPERTY_AUDIO_FILTER_STATE property is used to query a GFX filter for a list of the property sets that it supports. The list is retrieved in the form of an array of property-set GUIDs.

Usage Summary Table

Get Set Target Property descriptor type Property value type





Array of GUIDs

The property data (operation data) is an array of GUIDs. Each GUID in the array specifies a property set that the filter supports.

Return Value

A KSPROPERTY_AUDIO_FILTER_STATE property request returns STATUS_SUCCESS to indicate that it has completed successfully. Otherwise, the request returns an appropriate error status code.


The size of the array of GUIDs that this property returns depends on the number of property sets that the filter supports. Before retrieving the array, a client first queries the size of the property's GUID array by sending the miniport driver's property handler a KSPROPERTY_AUDIO_FILTER_STATE get-property request with a zero-length property-value buffer. The handler responds by returning the required buffer size and the status code STATUS_BUFFER_OVERFLOW. For more information, see Audio Property Handlers.

With the array of GUIDs from a KSPROPERTY_AUDIO_FILTER_STATE get-property request, the operating system can serially interrogate the properties within each property set. This information enables the operating system to restore the state of a GFX filter object at the time that the filter is instantiated, and also to save the state of a GFX filter object at the time that the filter is destroyed. When saving or restoring the state of the GFX filter, the operating system serializes its requests for the properties in each property set, as described in KS Properties. The purpose for saving and restoring the GFX filter's state is to preserve any changes the user has made to the filter's settings, and to make the settings persistent across successive instantiations of the filter. For additional information, see Persistence of GFX Settings.



Ksmedia.h (include Ksmedia.h)

See also