KsFilterFactoryUpdateCacheData function

The KsFilterFactoryUpdateCacheData function updates the FilterData registry key and the Medium cache (a set of registry keys) for a given filter factory.


NTSTATUS KsFilterFactoryUpdateCacheData(
  _In_           PKSFILTERFACTORY    FilterFactory,
  _In_opt_ const KSFILTER_DESCRIPTOR *FilterDescriptor


FilterFactory [in]

The KSFILTERFACTORY for which to update FilterData and Medium cache in the registry.

FilterDescriptor [in, optional]

An optional KSFILTER_DESCRIPTOR for which the FilterData key and Medium cache will be updated. If NULL, FilterFactory's descriptor is used instead. Provide if the filter factory uses dynamic pins and needs to update information for pins that have not yet been instantiated.

Return value

KsFilterFactoryUpdateCacheData returns STATUS_SUCCESS or a failure code, indicating whether the relevant registry information was successfully updated. It returns STATUS_INVALID_PARAMETER if no device interface is found that corresponds to the categories passed in the filter descriptor.


This function updates the FilterData key and Medium cache for all categories specified in FilterDescriptor. If FilterDescriptor is NULL, the FilterData and Medium cache are updated for all categories specified in FilterFactory's KSFILTER_DESCRIPTOR member.

KsRegisterFilterWithNoKSPins provides similar functionality, but should not be used if two instances of KSFILTER_DESCRIPTOR under the same KSDEVICE are registered in the same category, and differ only in reference GUID. In this case, KsRegisterFilterWithNoKSPins updates data only for the first, even though the second may have been specified.

Do not use this routine in place of KsRegisterFilterWithNoKSPins for filters with no KS pins, such as analog style crossbars. Use this routine only for a specific filter for which the minidriver is passing the corresponding filter factory.

In addition, KsRegisterFilterWithNoKSPins only allows one medium per registered pin. This may not be sufficient for a BDA minidriver.

For more information, see AVStream Object Hierarchy.


Target platform



Available in Microsoft Windows XP and later operating systems and DirectX 9.0 and later DirectX versions.


Ks.h (include Ks.h)



See also




Send comments about this topic to Microsoft