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

多媒体编程

开发平台:

Visual C++

  1. #ifndef _RMAVSRC_H
  2. #define _RMAVSRC_H
  3. /****************************************************************************
  4.  * 
  5.  *  $Id: rmavsrc.h,v 1.1 2003/05/30 02:18:02 gabest Exp $
  6.  *
  7.  *  Copyright (C) 1999 RealNetworks, Inc. All rights reserved..
  8.  *  
  9.  *  http://www.real.com/devzone
  10.  *
  11.  *  This program contains proprietary 
  12.  *  information of RealNetworks, Inc, and is licensed
  13.  *  subject to restrictions on use and distribution.
  14.  *
  15.  *  RealMedia Architecture FileViewSource Interfaces.
  16.  *
  17.  */
  18. typedef _INTERFACE IRMAStreamSource IRMAStreamSource;
  19. typedef _INTERFACE IRMAFileObject IRMAFileObject;
  20. // Interfaces definded in this file
  21. typedef _INTERFACE IRMAFileViewSource IRMAFileViewSource;
  22. typedef _INTERFACE IRMAFileViewSourceResponse IRMAFileViewSourceResponse;
  23. typedef _INTERFACE IRMAViewSourceCommand IRMAViewSourceCommand;
  24. typedef _INTERFACE IRMAViewSourceURLResponse IRMAViewSourceURLResponse;
  25. /****************************************************************************
  26.  * 
  27.  *  Interface:
  28.  * 
  29.  * IRMAFileViewSource
  30.  * 
  31.  *  IID_IRMAFileViewSource:
  32.  * 
  33.  * {00003500-0901-11d1-8B06-00A024406D59}
  34.  * 
  35.  */
  36. enum SOURCE_TYPE
  37. {
  38.     RAW_SOURCE,
  39.     HTML_SOURCE
  40. };
  41. DEFINE_GUID(IID_IRMAFileViewSource, 0x00003500, 0x901, 0x11d1, 0x8b, 0x6,
  42.     0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
  43. #undef  INTERFACE
  44. #define INTERFACE   IRMAFileViewSource
  45. DECLARE_INTERFACE_(IRMAFileViewSource, IUnknown)
  46. {
  47.     /*
  48.      * IUnknown methods
  49.      */
  50.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE;
  51.     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  52.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  53.     /************************************************************************
  54.      *  IRMAFileViewSource
  55.      */
  56.     STDMETHOD(InitViewSource) (THIS_
  57. IRMAFileObject*     /*IN*/ pFileObject,
  58. IRMAFileViewSourceResponse* /*IN*/ pResp,
  59. SOURCE_TYPE     /*IN*/ sourceType,
  60. IRMAValues*     /*IN*/ pOptions) PURE;
  61.     STDMETHOD(GetSource)    (THIS) PURE;
  62.     STDMETHOD(Close)     (THIS) PURE;
  63. };
  64. /****************************************************************************
  65.  * 
  66.  *  Interface:
  67.  * 
  68.  * IRMAFileViewSourceResponse
  69.  * 
  70.  *  IID_IRMAFileViewSourceResponse:
  71.  * 
  72.  * {00003501-0901-11d1-8B06-00A024406D59}
  73.  * 
  74.  */
  75. DEFINE_GUID(IID_IRMAFileViewSourceResponse, 0x00003501, 0x901, 0x11d1, 0x8b,
  76.     0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
  77. #undef  INTERFACE
  78. #define INTERFACE   IRMAFileViewSourceResponse
  79. DECLARE_INTERFACE_(IRMAFileViewSourceResponse, IUnknown)
  80. {
  81.     /*
  82.      * IUnknown methods
  83.      */
  84.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE;
  85.     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  86.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  87.     /************************************************************************
  88.      *  IRMAFileViewSourceResoponse
  89.      */
  90.     STDMETHOD(InitDone) (THIS_ PN_RESULT status ) PURE;
  91.     STDMETHOD(SourceReady) (THIS_ PN_RESULT status,
  92. IRMABuffer* pSource ) PURE;
  93.     STDMETHOD(CloseDone) (THIS_ PN_RESULT) PURE;
  94. };
  95. /****************************************************************************
  96.  * 
  97.  *  Interface:
  98.  * 
  99.  * IRMAViewSourceCommand
  100.  * 
  101.  *  IID_IRMAViewSourceCommand:
  102.  * 
  103.  * {00003504-0901-11d1-8B06-00A024406D59}
  104.  * 
  105.  */
  106. DEFINE_GUID(IID_IRMAViewSourceCommand, 0x00003504, 0x901, 0x11d1, 0x8b, 0x6,
  107.     0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
  108. #undef  INTERFACE
  109. #define INTERFACE   IRMAViewSourceCommand
  110. DECLARE_INTERFACE_(IRMAViewSourceCommand, IUnknown)
  111. {
  112.     /*
  113.      * IUnknown methods
  114.      */
  115.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE;
  116.     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  117.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  118.     /************************************************************************
  119.      *  IRMAViewSourceCommand
  120.      */
  121.     STDMETHOD_(BOOL, CanViewSource) (THIS_
  122. IRMAStreamSource* pStream) PURE;
  123.     STDMETHOD(DoViewSource) (THIS_
  124. IRMAStreamSource* pStream) PURE;
  125.     STDMETHOD(GetViewSourceURL) (THIS_
  126. IRMAStreamSource* pSource,
  127. IRMAViewSourceURLResponse*      pResp) PURE;
  128. };
  129. /****************************************************************************
  130.  * 
  131.  *  Interface:
  132.  * 
  133.  * IRMAViewSourceURLResponse
  134.  * 
  135.  *  IID_IRMAViewSourceURLResponse:
  136.  * 
  137.  * {00003505-0901-11d1-8B06-00A024406D59}
  138.  * 
  139.  */
  140. DEFINE_GUID(IID_IRMAViewSourceURLResponse, 0x00003505, 0x901, 0x11d1, 0x8b, 0x6,
  141.     0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
  142. #undef  INTERFACE
  143. #define INTERFACE   IRMAViewSourceURLResponse
  144. DECLARE_INTERFACE_(IRMAViewSourceURLResponse, IUnknown)
  145. {
  146.     /*
  147.      * IUnknown methods
  148.      */
  149.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE;
  150.     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  151.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  152.     /************************************************************************
  153.      *  IRMAViewSourceURLResponse
  154.      */
  155.     STDMETHOD(ViewSourceURLReady) (THIS_
  156. const char* /*out*/ pUrl) PURE;
  157. };
  158. #endif