vidplin.h
上传用户:zhongxx05
上传日期:2007-06-06
资源大小:33641k
文件大小:2k
源码类别:

Symbian

开发平台:

C/C++

  1. /////////////////////////////////////////////////////////////////////////////
  2. // 
  3. //  vidplin.h
  4. //
  5. //  Copyright (C) 1995,1996,1997 Progressive Networks, Inc.
  6. //  All rights reserved.
  7. //  
  8. //  http://www.real.com/devzone
  9. //
  10. //  This program contains proprietary 
  11. //  information of Progressive Networks, Inc, and is licensed
  12. //  subject to restrictions on use and distribution.
  13. //
  14. //  Video PluginFactory 
  15. //
  16. //
  17. class VideoPluginFactory : public IHXPluginFactory
  18. {
  19. public:
  20.     VideoPluginFactory();
  21.     STDMETHOD(QueryInterface)           (THIS_
  22.                                          REFIID riid,
  23.                                          void** ppvObj) ;
  24.    
  25.     STDMETHOD_(ULONG32,AddRef)          (THIS);
  26.     STDMETHOD_(ULONG32,Release)         (THIS);
  27.     STDMETHOD_(UINT16, GetNumPlugins) (THIS);
  28.     STDMETHOD(GetPlugin)(THIS_
  29. UINT16  uIndex, 
  30. IUnknown**   pPlugin);
  31.     LONG32 m_lRefCount;
  32.     UINT16  m_usNumOfPlugins;
  33.     static HX_RESULT (STDAPICALLTYPE  *const m_fpEntryArray[])(IUnknown**);
  34.     static HX_RESULT (STDAPICALLTYPE  *const m_fpExitArray[])();
  35.     static HX_RESULT (STDAPICALLTYPE  *const m_fpUnloadArray[])();
  36.     static HX_RESULT (STDAPICALLTYPE  *const m_fpUnloadArray2[])();
  37. };
  38. /****************************************************************************
  39.  * 
  40.  *  Function:
  41.  * 
  42.  * HXCreateInstance()
  43.  * 
  44.  *  Purpose:
  45.  * 
  46.  * Function implemented by all plugin DLL's to create an instance of 
  47.  * any of the objects supported by the DLL. This method is similar to 
  48.  * Window's CoCreateInstance() in its purpose, except that it only 
  49.  * creates objects from this plugin DLL.
  50.  *
  51.  * NOTE: Aggregation is never used. Therefore and outer unknown is
  52.  * not passed to this function, and you do not need to code for this
  53.  * situation.
  54.  * 
  55.  */
  56. STDAPI HXCreateInstance(IUnknown**  /*OUT*/ ppIUnknown);
  57. /****************************************************************************
  58.  *
  59.  *  Function:
  60.  *
  61.  * HXShutdown()
  62.  *
  63.  *  Purpose:
  64.  *
  65.  * Function implemented by all plugin DLL's to free any *global* 
  66.  * resources. This method is called just before the DLL is unloaded. 
  67.  *
  68.  */
  69. STDAPI HXShutdown();