IUnknown::QueryInterface method

Note  This topic describes IUnknown in the context of the AVIFile and AVIStream interfaces. For general information about IUnknown, see the Component Object Model (COM) documentation in the Windows SDK.


The QueryInterface method determines if an interface can be used with an object. Used by the following interfaces: IAVIEditStream, IAVIFile, IAVIStream, IAVIStreaming, and IGetFrame.


HRESULT QueryInterface(
         LPUNKNOWN ps,
   const IID       riid,
         void      **ppvObj


  • ps
    Pointer to an IAVIEditStream, IAVIFile, IAVIStream, IAVIStreaming, or IGetFrame interface.

  • riid
    Identifier of the interface being queried.

  • ppvObj
    Pointer to a buffer that receives a pointer to the object whose interface is queried or NULL when an interface is not supported.

Return value

Returns a pointer to the current interface if successful or E_NOINTERFACE otherwise.


For handlers written in C++, QueryInterface has the following syntax:

HRESULT QueryInterface(const IID &riid, void **ppvObj); 


Minimum supported client

Windows 2000 Professional [desktop apps | Windows Store apps]

Minimum supported server

Windows 2000 Server [desktop apps | Windows Store apps]



See also

Custom File and Stream Handlers

Custom File and Stream Handler Interfaces