LoadIFilterFromStorageEx Method

The LoadIFilterFromStorageEx method retrieves the best-suited IFilter for the specified CLSID stored in an IStorage object.

Syntax
HRESULT LoadIFilterFromStorageEx(
  IStorage * pStg,
  IUnknown *pUnkOuter,
  WCHAR const *pwcsOverride,
  BOOL fUseDefault,
  CLSID * pFilterClsid,
  Int * SearchDecSize,
  WCHAR ** pwcsSearchDesc,
  IFilter **ppIFilt);
Parameters
  • pStg
    [in] A pointer to an IStorage object holding the Class ID of the data source type to be filtered.
  • pUnkOuter
    [in] A pointer to the outer IUnknown object for the filter to be returned.
  • pwcsOverride
    [in] A pointer to a WCHAR that contains an override string, such as the application name.
  • fUseDefault
    [in] A BOOL that specifies that the default filter should be used if a more suitable one is not found.
  • pFilterClsid
    [out] A pointer to a CLSID that contains the Class ID of the returned filter.
  • SearchDecSize
    [in, out] Not used. Value should be 0.
  • pwcsSearchDesc
    [out, size_is(*SearchDecSize)] Not used. Value should be 0.
  • ppIFilt
    [out] An address of a pointer that receives the pointer to the IFilter requested. The value is null if no filter is found.
Return Value

For a list of errors returned by SharePoint Portal Server IFilter registration objects, see Error Messages.

Remarks

This method attempts to load an IFilter that can process the data source of the type located in pStg.

If the pwcsOverride string is not null, this method searches first for an IFilter that was registered with the override string passed in pwcsOverride. The method then searches for an IFilter among the file types and Class IDs.

If no suitable IFilter is found for the data source, and fUseDefault is false, this method returns null in ppIFilt parameter. If fUseDefault is true, and no suitable IFilter is found for the data source, the IFilter interface on the default IFilter is returned in ppIFilt.

The IFilter must be released after it is used.