Microsoft Windows CE 3.0  

Access Additional Interfaces

This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

If your filter implements any interfaces that aren't implemented in the base classes, you must override the NonDelegatingQueryInterfacefunction and return pointers to the implemented interfaces.

  1. In the public section of your filter class definition, declare NonDelegatingQueryInterface:
    STDMETHODIMP NonDelegatingQueryInterface(REFIID
    riid, void ** ppv);
    1. In the implementation section of your class, implement the NonDelegatingQueryInterfacefunction. For example:
      // Reveal persistent stream and property pages.
      STDMETHODIMP CMyFilter::NonDelegatingQueryInterface(REFIID riid,
      void **ppv) { if (riid == IID_IPersistStream) { AddRef( ); // Add a
      reference count. Be sure to release when done. *ppv = (void *)
      (IPersistStream *) this; return NOERROR; } else if (riid ==
      IID_ISpecifyPropertyPages) { return
      GetInterface((ISpecifyPropertyPages *) this, ppv); } else { return
      CTransInPlaceFilter::NonDelegatingQueryInterface(riid, ppv); }

       Last updated on Tuesday, May 18, 2004

      © 2004 Microsoft Corporation. All rights reserved.