rmaaconf.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:5k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /****************************************************************************
  2.  * 
  3.  *
  4.  *  Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
  5.  *  
  6.  *  http://www.real.com/devzone
  7.  *
  8.  *  This program contains proprietary 
  9.  *  information of Progressive Networks, Inc, and is licensed
  10.  *  subject to restrictions on use and distribution.
  11.  *
  12.  *
  13.  *  RealMedia Architecture AutoConfiguration interfaces
  14.  *
  15.  */
  16. #ifndef _RMAACONF_H_
  17. #define _RMAACONF_H_
  18. /*
  19.  * Forward declarations of some interfaces defined here-in.
  20.  */
  21. typedef _INTERFACE IRMAAutoConfig IRMAAutoConfig;
  22. typedef _INTERFACE   IRMAAutoConfigResponse IRMAAutoConfigResponse;
  23. #define RMA_TRANSPORT_MULTICAST     0
  24. #define RMA_TRANSPORT_UDP     1
  25. #define RMA_TRANSPORT_TCP     2
  26. #define RMA_TRANSPORT_HTTP     3
  27. /****************************************************************************
  28.  * 
  29.  *  Interface:
  30.  *
  31.  * IRMAAutoConfig
  32.  *
  33.  *  Purpose:
  34.  * This interface allows the auto-configuration of the protocol used by
  35.  * the client core.
  36.  *
  37.  *  IID_IRMAAutoConfig:
  38.  *
  39.  * {00002700-0901-11d1-8B06-00A024406D59}
  40.  *
  41.  */
  42. DEFINE_GUID(IID_IRMAAutoConfig, 0x00002700, 0x901, 0x11d1, 0x8b, 0x6, 
  43. 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
  44. #undef  INTERFACE
  45. #define INTERFACE   IRMAAutoConfig
  46. DECLARE_INTERFACE_(IRMAAutoConfig, IUnknown)
  47. {
  48.     /*
  49.      * IUnknown methods
  50.      */
  51.     STDMETHOD(QueryInterface) (THIS_
  52. REFIID riid,
  53. void** ppvObj) PURE;
  54.     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  55.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  56.     /*
  57.      * IRMAAutoConfig methods
  58.      */
  59.     /************************************************************************
  60.      * Method:
  61.      *     IRMAAutoConfig::Init
  62.      * Purpose:
  63.      *      Shutdown the configuration process.
  64.      *
  65.      */
  66.     STDMETHOD(Init) (THIS_
  67. IRMAAutoConfigResponse* pResponse,
  68. const char* pPNAURL,
  69. const char* pRTSPURL) PURE;
  70.     /************************************************************************
  71.      * Method:
  72.      *     IRMAAutoConfig::Close
  73.      * Purpose:
  74.      *      Shutdown the configuration process.
  75.      *
  76.      */
  77.     STDMETHOD(Close) (THIS) PURE;
  78.     /************************************************************************
  79.      * Method:
  80.      *     IRMAAutoConfig::Abort
  81.      * Purpose:
  82.      *      Abort the configuration process.
  83.      *
  84.      */
  85.     STDMETHOD(Abort) (THIS) PURE;
  86.     /************************************************************************
  87.      * Method:
  88.      *     IRMAAutoConfig::DoAutoConfig
  89.      * Purpose:
  90.      *      Start the auto-configuration Process.
  91.      *
  92.      */
  93.     STDMETHOD(DoAutoConfig) (THIS) PURE;
  94. };
  95. /****************************************************************************
  96.  * 
  97.  *  Interface:
  98.  *
  99.  * IRMAAutoConfigResponse
  100.  *
  101.  *  Purpose:
  102.  * Response interface for IRMAAutoConfig.
  103.  *
  104.  *  IID_IRMAAutoConfig:
  105.  *
  106.  * {00002701-0901-11d1-8B06-00A024406D59}
  107.  * 
  108.  */
  109. DEFINE_GUID(IID_IRMAAutoConfigResponse, 0x00002701, 0x901, 0x11d1, 0x8b, 
  110. 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
  111. #undef  INTERFACE
  112. #define INTERFACE   IRMAAutoConfigResponse
  113. DECLARE_INTERFACE_(IRMAAutoConfigResponse, IUnknown)
  114. {
  115.     /*
  116.      * IUnknown methods
  117.      */
  118.     STDMETHOD(QueryInterface) (THIS_
  119. REFIID riid,
  120. void** ppvObj) PURE;
  121.     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  122.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  123.     /*
  124.      * IRMAAutoConfigResponse methods
  125.      */
  126.     /************************************************************************
  127.      * Method:
  128.      *     IRMAAutoConfigResponse::OnBegin
  129.      * Purpose:
  130.      *      Notification for start of auto-configure process
  131.      *
  132.      */
  133.     STDMETHOD(OnBegin) (THIS) PURE;
  134.     /************************************************************************
  135.      * Method:
  136.      *     IRMAAutoConfigResponse::OnProgress
  137.      * Purpose:
  138.      *      Notification for progress of auto-configure process
  139.      *
  140.      */
  141.     STDMETHOD(OnProgress)     (THIS_
  142.     UINT32 ulProgress,
  143.     UINT32 ulProtocolID,
  144.     const char* pProtocolDescription) PURE;
  145.     /************************************************************************
  146.      * Method:
  147.      *     IRMAAutoConfigResponse::OnComplete
  148.      * Purpose:
  149.      *      Notification for completion of auto-configure process
  150.      *
  151.      */
  152.     STDMETHOD(OnComplete) (THIS_
  153. PN_RESULT   PNAResult,
  154. UINT32     ulPNAProtocolID,
  155. PN_RESULT   RTSPResult,
  156. UINT32     ulRTSPProtocolID) PURE;
  157. };
  158. #endif /* _RMAACONF_H_ */