KsFilterFactoryUpdateCacheData function (ks.h)

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

Syntax

KSDDKAPI NTSTATUS KsFilterFactoryUpdateCacheData(
  [in]           PKSFILTERFACTORY          FilterFactory,
  [in, optional] const KSFILTER_DESCRIPTOR *FilterDescriptor
);

Parameters

[in] FilterFactory

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

[in, optional] FilterDescriptor

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.

Remarks

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.

The KsFilterFactoryUpdateCacheData function can only be called in PASSIVE_LEVEL.

Requirements

Requirement Value
Target Platform Universal
Header ks.h (include Ks.h)
Library Ks.lib

See also

KSFILTERFACTORY

KSFILTER_DESCRIPTOR

KsRegisterFilterWithNoKSPins