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

多媒体编程

开发平台:

Visual C++

  1. /****************************************************************************
  2.  * 
  3.  *  $Id: rmacfg.h,v 1.1 2003/05/30 02:17:36 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.  *  Server Configuration File Interface
  14.  *
  15.  */
  16. #ifndef _RMACFG_H_
  17. #define _RMACFG_H_
  18. typedef _INTERFACE  IRMABuffer IRMABuffer;
  19. /****************************************************************************
  20.  * 
  21.  *  Interface:
  22.  *
  23.  * IRMAConfigFile
  24.  *
  25.  *  Purpose:
  26.  *
  27.  *  IID_IRMAConfigFile:
  28.  *
  29.  * {00001c00-0901-11d1-8B06-00A024406D59}
  30.  *
  31.  */
  32. DEFINE_GUID(IID_IRMAConfigFile, 0x00001c00, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
  33. 0xa0, 0x24, 0x40, 0x6d, 0x59);
  34. #undef INTERFACE
  35. #define INTERFACE IRMAConfigFile
  36. DECLARE_INTERFACE_(IRMAConfigFile, 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.      * IRMAConfigFile methods
  48.      */
  49.     /************************************************************************
  50.      * Method:
  51.      *     IRMAConfigFile::LoadFrom
  52.      * Purpose:
  53.      *
  54.      *     LoadFrom tells the server to load the config file specified,
  55.      *     and sets that file as the default for future Reloads and Saves
  56.      */
  57.     STDMETHOD(LoadFrom)                 (THIS_
  58.  IRMABuffer* filename) PURE;
  59.     /************************************************************************
  60.      * Method:
  61.      *     IRMAConfigFile::Reload
  62.      * Purpose:
  63.      *
  64.      *     Reload causes the current default config file to be reloaded.
  65.      */
  66.     STDMETHOD(Reload)                   (THIS) PURE;
  67.     /************************************************************************
  68.      * Method:
  69.      *     IRMAConfigFile::Save
  70.      * Purpose:
  71.      *
  72.      *     Save causes the current configuration to be written to the
  73.      *     current default file.
  74.      */
  75.     STDMETHOD(Save)                     (THIS) PURE;
  76.     /************************************************************************
  77.      * Method:
  78.      *     IRMAConfigFile::SaveAs
  79.      * Purpose:
  80.      *
  81.      *     SaveAs writes the configuration to the named file, and sets that
  82.      *     file as the default.
  83.      */
  84.     STDMETHOD(SaveAs)                   (THIS_
  85.  IRMABuffer* pFilename) PURE;
  86.     /************************************************************************
  87.      * Method:
  88.      *     IRMAConfigFile::GetFilename
  89.      * Purpose:
  90.      *
  91.      *     GetFilename returns the current default file
  92.      */
  93.     STDMETHOD(GetFilename)              (THIS_
  94.  REF(IRMABuffer*) pFilename) PURE;
  95.     /************************************************************************
  96.      * Method:
  97.      *     IRMAConfigFile::SetFilename
  98.      * Purpose:
  99.      *
  100.      *     SetFilename sets the current default file, but does not read it
  101.      *     or change its contents.
  102.      */
  103.     STDMETHOD(SetFilename)              (THIS_
  104.  IRMABuffer* pFilename) PURE;
  105. };
  106. /****************************************************************************
  107.  * 
  108.  *  Interface:
  109.  *
  110.  * IRMARegConfig
  111.  *
  112.  *  Purpose:
  113.  *
  114.  *  IID_IRMARegConfig:
  115.  *
  116.  * {00001c01-0901-11d1-8B06-00A024406D59}
  117.  *
  118.  */
  119. DEFINE_GUID(IID_IRMARegConfig, 0x00001c01, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
  120. 0xa0, 0x24, 0x40, 0x6d, 0x59);
  121. #undef INTERFACE
  122. #define INTERFACE IRMARegConfig
  123. DECLARE_INTERFACE_(IRMARegConfig, IUnknown)
  124. {
  125.     /*
  126.      * IUnknown methods
  127.      */
  128.     STDMETHOD(QueryInterface)           (THIS_
  129.  REFIID riid,
  130.  void** ppvObj) PURE;
  131.     STDMETHOD_(ULONG,AddRef)          (THIS) PURE;
  132.     STDMETHOD_(ULONG,Release)         (THIS) PURE;
  133.     /************************************************************************
  134.      * Method:
  135.      *     IRMARegConfig::WriteKey
  136.      * Purpose:
  137.      *
  138.      *     Write out the registry from the passed in keyname to the 
  139.      *  currently active permanent config storage area (ex. config file,
  140.      *  registry).
  141.      */
  142.     STDMETHOD(WriteKey)              (THIS_
  143. const char* pKeyName) PURE;
  144. };
  145. #endif /* _RMACFG_H_ */