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

多媒体编程

开发平台:

Visual C++

  1. /****************************************************************************
  2.  * 
  3.  *  $Id: rmaxmltg.h,v 1.1 2003/05/30 02:18:02 gabest Exp $
  4.  *
  5.  *  Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved..
  6.  *  
  7.  *  http://www.real.com/devzone
  8.  *
  9.  *  This program contains proprietary 
  10.  *  information of Progressive Networks, Inc, and is licensed
  11.  *  subject to restrictions on use and distribution.
  12.  *
  13.  *
  14.  *  RealMedia Architecture XMLTag Object Interfaces.
  15.  *
  16.  */
  17. #ifndef _RMAXMLTG_H
  18. #define _RMAXMLTG_H
  19. typedef _INTERFACE IRMAXMLTagObject IRMAXMLTagObject;
  20. typedef _INTERFACE IRMAXMLTagObjectResponse IRMAXMLTagObjectResponse;
  21. /****************************************************************************
  22.  * 
  23.  *  Interface:
  24.  * 
  25.  * IRMAXMLTagObjectResponse
  26.  * 
  27.  *  IID_IRMAXMLTagObjectResponse:
  28.  * 
  29.  * {00002C02-0901-11d1-8B06-00A024406D59}
  30.  * 
  31.  */
  32. DEFINE_GUID(IID_IRMAXMLTagObjectResponse, 0x00002C02, 0x901, 0x11d1, 0x8b, 0x6,
  33.     0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
  34. #undef  INTERFACE
  35. #define INTERFACE   IRMAXMLTagObjectResponse
  36. DECLARE_INTERFACE_(IRMAXMLTagObjectResponse, IUnknown)
  37. {
  38.     /*
  39.      * IUnknown methods
  40.      */
  41.     STDMETHOD(QueryInterface) (THIS_
  42. REFIID riid,
  43. void** ppvObj) PURE;
  44.     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  45.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  46.     /************************************************************************
  47.      *  IRMAXMLTagObjectResponse
  48.      */
  49.     STDMETHOD(OnTagDone) (THIS_ UINT32 ulInstance, IRMABuffer* pTag) PURE;
  50. };
  51. /****************************************************************************
  52.  * 
  53.  *  Interface:
  54.  * 
  55.  * IRMAXMLTagHandler
  56.  * 
  57.  *  IID_IRMAXMLTagHandler:
  58.  * 
  59.  * {00002C00-0901-11d1-8B06-00A024406D59}
  60.  * 
  61.  */
  62. DEFINE_GUID(IID_IRMAXMLTagHandler, 0x00002C03, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
  63.     0xa0, 0x24, 0x40, 0x6d, 0x59);
  64. #undef  INTERFACE
  65. #define INTERFACE   IRMAXMLTagHandler
  66. DECLARE_INTERFACE_(IRMAXMLTagHandler, IUnknown)
  67. {
  68.     /*
  69.      * IUnknown methods
  70.      */
  71.     STDMETHOD(QueryInterface) (THIS_
  72. REFIID riid,
  73. void** ppvObj) PURE;
  74.     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  75.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  76.     /************************************************************************
  77.      *  IRMAXMLTagHandler
  78.      */
  79.     STDMETHOD(InitTagHandler) (THIS_ IRMAValues* pOptions) PURE;
  80.     STDMETHOD(CreateTagObject) (THIS_ IRMAXMLTagObject**  ppObj) PURE;
  81.     STDMETHOD(GetTagHandlerInfo) (THIS_
  82.     REF(const char*) /*OUT*/ pShortName,
  83.     REF(const char**) /*OUT*/ pTag,
  84.     REF(BOOL)     /*OUT*/ bCanHandleAsync) PURE;
  85. };
  86. /****************************************************************************
  87.  * 
  88.  *  Interface:
  89.  * 
  90.  * IRMAXMLTagObject
  91.  * 
  92.  *  IID_IRMAXMLTagObject:
  93.  * 
  94.  * {00002C01-0901-11d1-8B06-00A024406D59}
  95.  * 
  96.  */
  97. DEFINE_GUID(IID_IRMAXMLTagObject, 0x00002C04, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
  98.     0xa0, 0x24, 0x40, 0x6d, 0x59);
  99. #undef  INTERFACE
  100. #define INTERFACE   IRMAXMLTagObject
  101. DECLARE_INTERFACE_(IRMAXMLTagObject, IUnknown)
  102. {
  103.     /*
  104.      * IUnknown methods
  105.      */
  106.     STDMETHOD(QueryInterface) (THIS_
  107. REFIID riid,
  108. void** ppvObj) PURE;
  109.     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  110.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  111.     /************************************************************************
  112.      *  IRMAXMLTagObject
  113.      */
  114.     STDMETHOD(InitTagObject) (IRMAXMLTagObjectResponse* pResp) PURE;
  115.     STDMETHOD(OnTag) (THIS_ UINT32 ulInstance, IRMABuffer* pTag) PURE;
  116.     STDMETHOD(Close) (THIS) PURE;
  117. };
  118. #endif