BdaCreateFilterFactoryEx function (bdasup.h)

The BdaCreateFilterFactoryEx function adds the specified filter descriptor as a filter factory to the specified device and associates the filter factory with the specified BDA template topology.

Syntax

NTSTATUS BdaCreateFilterFactoryEx(
  [in]            PKSDEVICE                 pKSDevice,
  [in]            const KSFILTER_DESCRIPTOR *pFilterDescriptor,
  [in]            const BDA_FILTER_TEMPLATE *pBdaFilterTemplate,
  [out, optional] PKSFILTERFACTORY          *ppKSFilterFactory
);

Parameters

[in] pKSDevice

Points to the BDA device to which to add the filter factory with associated BDA template topology.

[in] pFilterDescriptor

Points to a KSFILTER_DESCRIPTOR structure that describes a filter for the BDA device. Note that not all of the template pin and node types may be exposed as pin and node factories when the filter is first initialized.

[in] pBdaFilterTemplate

Points to a BDA_FILTER_TEMPLATE structure that describes a BDA template topology.

[out, optional] ppKSFilterFactory

Points to a buffer that receives a pointer to a KSFILTERFACTORY structure for the newly created filter factory.

Return value

Returns STATUS_SUCCESS or an appropriate error code.

Remarks

A BDA minidriver calls the BdaCreateFilterFactoryEx function to add a filter factory with an associated BDA template topology to a device and to register all of the topology's static template structures with the BDA support library (BdaSup.sys). The BDA support library can then handle the following method and property calls:

A BDA minidriver calls BdaCreateFilterFactoryEx rather than the BdaCreateFilterFactory function whenever it requires a pointer to the newly created KSFILTERFACTORY. The BdaCreateFilterFactory function also creates a filter factory but doesn't return it to the caller. The BDA minidriver requires a pointer to the newly created KSFILTERFACTORY if the minidriver must call the _KsEdit function to edit KSFILTERFACTORY.

Requirements

Requirement Value
Minimum supported client Available on Microsoft Windows XP and later operating systems.
Target Platform Desktop
Header bdasup.h (include Bdasup.h)
Library Bdasup.lib
IRQL PASSIVE_LEVEL

See also

BDA_FILTER_TEMPLATE

BdaCreateFilterFactory

KSDEVICE

KSFILTERFACTORY

KSFILTER_DESCRIPTOR

KSMETHODSETID_BdaChangeSync

KSMETHODSETID_BdaDeviceConfiguration

KSPROPSETID_BdaTopology

_KsEdit