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

多媒体编程

开发平台:

Visual C++

  1. /****************************************************************************
  2.  * 
  3.  *  $Id: rmaprefs.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.  *
  14.  *  Persistent Preferences Interfaces
  15.  *
  16.  *  Here are the preference entries set by the client core and renderers:
  17.  *     KEY DEFAULT VALUES
  18.  * =================     ====================
  19.  * AttemptMulticast     1
  20.  * AttemptTCP     1
  21.  * AttemptUDP     1
  22.  * AudioQuality     0
  23.  * AutoTransport     1
  24.  * Bandwidth     28800
  25.  * BitsPerSample     16
  26.  * BroadcastPluginInfo     {dllpath;description;copyright;moreinfo;loadmultiple;type}{ ... }
  27.  * ClientLicenseKey     7FF7FF00
  28.  * EndScan     10000
  29.  * FactoryPluginInfo     
  30.  * FileFormatPluginInfo     {dllpath;description;copyright;moreinfo;loadmultiple;mimetype1|mimetype2;extension1|extension2}{ ... }
  31.  * FileSystemPluginInfo     {dllpath;description;copyright;moreinfo;loadmultiple;protocol;shortname}{ ... }
  32.  * GeneralPluginInfo     {dllpath;description;copyright;moreinfo;loadmultiple}{ ... }
  33.  * PNAProxyHost
  34.  * PNAProxyPort     1090
  35.  * RTSPProxyHost
  36.  * RTSPProxyPort     554
  37.  * HTTPProxyHost
  38.  * HTTPProxyPort     1092
  39.  * HurledURL     0
  40.  * InfoandVolume     1
  41.  * LastURL     
  42.  * MaxClipCount     4
  43.  * MetaFormatPluginInfo     {dllpath;description;copyright;moreinfo;loadmultiple;mimetype1|mimetype2;extension1|extension2}{ ... }
  44.  * MiscPluginInfo     {dllpath;description;copyright;moreinfo;loadmultiple}{ ... }
  45.  * MulticastTimeout     2000
  46.  * NotProxy     
  47.  * OnTop     0
  48.  * PerfectPlayMode     0
  49.  * PerfectPlayTime     60
  50.  * PerfPlayEntireClip     1
  51.  * PluginDirectory
  52.  * Presets#
  53.  * ProxySupport     0
  54.  * RendererPluginInfo     {dllpath;description;copyright;moreinfo;loadmultiple;mimetype1|mimetype2}{ ... }
  55.  * SamplingRate     8000
  56.  * SeekPage     40
  57.  * SendStatistics     1
  58.  * ServerTimeOut     90
  59.  * ShowPresets     0
  60.  * StatusBar     1
  61.  * StreamDescriptionPluginInfo     {dllpath;description;copyright;moreinfo;loadmultiple;mimetype}{ ... }
  62.  * SyncMultimedia     1
  63.  * UDPPort     7070
  64.  * UDPTimeout     10000
  65.  * UpgradeAvailable     0
  66.  * UseUDPPort     0
  67.  * Volume     50
  68.  * x:Pref_windowPositionX
  69.  * y:Pref_WindowPositionY
  70.  */
  71. #ifndef _RMAPREFS_H_
  72. #define _RMAPREFS_H_
  73. #define RMAPNREGISTRY_PREFPROPNAME     "ApplicationData"
  74. /*
  75.  * Forward declarations of some interfaces defined or used here-in.
  76.  */
  77. typedef _INTERFACE IRMABuffer IRMABuffer;
  78. /****************************************************************************
  79.  * 
  80.  *  Interface:
  81.  * 
  82.  * IRMAPreferences
  83.  * 
  84.  *  Purpose:
  85.  * 
  86.  * This interface allows you to store persistant preferences in the
  87.  * server or player's config / registry.
  88.  * 
  89.  *  IID_IRMAPreferences:
  90.  * 
  91.  * {00000500-0901-11d1-8B06-00A024406D59}
  92.  * 
  93.  */
  94. DEFINE_GUID(IID_IRMAPreferences, 0x00000500, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
  95. 0xa0, 0x24, 0x40, 0x6d, 0x59);
  96. #undef  INTERFACE
  97. #define INTERFACE   IRMAPreferences
  98. DECLARE_INTERFACE_(IRMAPreferences, IUnknown)
  99. {
  100.     /*
  101.      * IUnknown methods
  102.      */
  103.     STDMETHOD(QueryInterface) (THIS_
  104. REFIID riid,
  105. void** ppvObj) PURE;
  106.     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  107.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  108.     /*
  109.      * IRMAPreferences methods
  110.      */
  111.     /************************************************************************
  112.      * Method:
  113.      * IRMAPreferences::ReadPref
  114.      * Purpose:
  115.      * Read a preference from the registry or configuration.
  116.      */
  117.     STDMETHOD(ReadPref) (THIS_
  118. const char* pPrekKey, REF(IRMABuffer*) pBuffer) PURE;
  119.     /************************************************************************
  120.      * Method:
  121.      * IRMAPreferences::WritePref
  122.      * Purpose:
  123.      * TBD
  124.      */
  125.     STDMETHOD(WritePref) (THIS_
  126. const char* pPrekKey, IRMABuffer* pBuffer) PURE;
  127. };
  128. /****************************************************************************
  129.  * 
  130.  *  Interface:
  131.  * 
  132.  * IRMAPreferenceEnumerator
  133.  * 
  134.  *  Purpose:
  135.  * 
  136.  * Allows preference Enumeration
  137.  *
  138.  * 
  139.  *  IRMAPreferenceEnumerator:
  140.  * 
  141.  * {00000504-0901-11d1-8B06-00A024406D59}
  142.  * 
  143.  */
  144. DEFINE_GUID(IID_IRMAPreferenceEnumerator, 0x00000504, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
  145. 0xa0, 0x24, 0x40, 0x6d, 0x59);
  146. #undef  INTERFACE
  147. #define INTERFACE   IRMAPreferenceEnumerator
  148. DECLARE_INTERFACE_(IRMAPreferenceEnumerator, IUnknown)
  149. {
  150.     /*
  151.      * IUnknown methods
  152.      */
  153.     STDMETHOD(QueryInterface) (THIS_
  154. REFIID riid,
  155. void** ppvObj) PURE;
  156.     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  157.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  158.     /*
  159.      * IRMAPreferenceEnumerator methods
  160.      */
  161.     /************************************************************************
  162.      * Method:
  163.      * IRMAPreferenceEnumerator::EndSubPref
  164.      * Purpose:
  165.      * TBD
  166.      */
  167.     STDMETHOD(BeginSubPref) (THIS_ const char* szSubPref) PURE;
  168.     /************************************************************************
  169.      * Method:
  170.      * IRMAPreferenceEnumerator::EndSubPref
  171.      * Purpose:
  172.      * TBD
  173.      */
  174.    STDMETHOD(EndSubPref) (THIS) PURE;
  175.     /************************************************************************
  176.      * Method:
  177.      * IRMAPreferenceEnumerator::GetPrefKey
  178.      * Purpose:
  179.      * TBD
  180.      */
  181.    STDMETHOD(GetPrefKey) (THIS_ UINT32 nIndex, REF(IRMABuffer*) pBuffer) PURE;
  182.     /************************************************************************
  183.      * Method:
  184.      * IRMAPreferenceEnumerator::ReadPref
  185.      * Purpose:
  186.      * TBD
  187.      */
  188.     STDMETHOD(ReadPref) (THIS_
  189.     const char* pPrefKey, IRMABuffer*& pBuffer) PURE;
  190. };
  191. /****************************************************************************
  192.  * 
  193.  *  Interface:
  194.  * 
  195.  * IRMAPreferences2
  196.  * 
  197.  *  Purpose:
  198.  * 
  199.  * New interface which gives sub-preference options abilities.
  200.  *
  201.  * 
  202.  *  IID_IRMAPreferences2:
  203.  * 
  204.  * {00000503-0901-11d1-8B06-00A024406D59}
  205.  * 
  206.  */
  207. DEFINE_GUID(IID_IRMAPreferences2, 0x00000503, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
  208. 0xa0, 0x24, 0x40, 0x6d, 0x59);
  209. #undef  INTERFACE
  210. #define INTERFACE   IRMAPreferences2
  211. DECLARE_INTERFACE_(IRMAPreferences2, IUnknown)
  212. {
  213.     /*
  214.      * IUnknown methods
  215.      */
  216.     STDMETHOD(QueryInterface) (THIS_
  217. REFIID riid,
  218. void** ppvObj) PURE;
  219.     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  220.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  221.     /*
  222.      * IRMAPreferences2 methods
  223.      */
  224.     /************************************************************************
  225.      * Method:
  226.      * IRMAPreferences2::GetPreferenceEnumerator
  227.      * Purpose:
  228.      * Read a preference from the registry or configuration.
  229.      */
  230.     STDMETHOD(GetPreferenceEnumerator)(THIS_ REF(IRMAPreferenceEnumerator*) /*OUT*/ pEnum) PURE;
  231.     /************************************************************************
  232.      * Method:
  233.      * IRMAPreferences2::ResetRoot
  234.      * Purpose:
  235.      * Reset the root of the preferences
  236.      */
  237.     STDMETHOD(ResetRoot)(THIS_ const char* pCompanyName, const char* pProductName, 
  238. int nProdMajorVer, int nProdMinorVer) PURE;
  239. };
  240. #endif /* _RMAPREFS_H_ */