Persistence of GFX Settings
A GFX filter does not explicitly save any of its settings persistently from one filter instance to the next. Instead, it relies on the operating system to keep track of its settings between instantiations. The operating system uses get and set property requests to save and restore the state of a GFX filter.
The GFX filter implements the KS property KSPROPERTY_AUDIO_FILTER_STATE to identify the property sets that must be saved persistently. This property's get request retrieves an array of property set GUIDs.
Immediately after the operating system instantiates the GFX filter, it queries the filter for its KSPROPERTY_AUDIO_FILTER_STATE property to obtain the list of property sets to restore. Next, by using KS serialization (described in KS Properties), the operating system reviews each property in each property set and restores each to its previously saved value.
Similarly, just before it closes a GFX instance, the operating system queries the KSPROPERTY_AUDIO_FILTER_STATE property to obtain the list of property sets to save. Again, the operating system uses KS serialization to review each property in each property set, get each value, and save the value persistently.