The FILTERED_DATA_SOURCE structure holds one data source or type that an IFilter is registered to. This data structure is used by methods of the IFilterRegistration interface.

typedef struct _FILTERED_DATA_SOURCE {
  union {
    WCHAR const * pwcsExtension;
    WCHAR const * pwcsMime;
    CLSID const * pClsid;
  } pKey;
  WCHAR const * pwcsOverride;


The following table describes the members of the FILTERED_DATA_SOURCE structure.

Member Data type Description
dsType DATA_SOURCE_TYPE Specifies the type of the pKey member. Value is from the DATA_SOURCE_TYPE enumeration.
pwcsExtension Pointer to a WCHAR Contains a file name extension.
pwcsMime Pointer to a WCHAR Contains the name of a MIME type.
pClsid Pointer to a CLSID Contains a class ID identifying the content type.
pKey Pointer to WCHAR or CLSID Data type depends on the dsType member. This member can be a WCHAR pointer to a file name extension (pwcsExtension), a MIME type (pwcsMime), or class ID (pClsid).
pwcsOverride Pointer to a WCHAR Contains the portal site ID.


The FILTERED_DATA_SOURCE structure consists of a type flag, dsType, which uses the DATA_SOURCE_TYPE enumeration. The dsType flag determines what kind of data source is described in the string pointed to by the pKey structure member. The pwcsOverride member is a pointer to a string used by the method to which this structure is passed.

The following methods of the IFilterRegistration interface use this structure: