⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rmavalue.pas

📁 Delphi源码REAlRMSDK.rar
💻 PAS
字号:
unit RmaValue;

interface

uses
  PnTypes, RmaPckts;

//***************************************************************************
//
//  $Id: rmavalue.h,v 1.7 1999/11/02 01:25:37 darrens Exp $
//
//  Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
//
//  http://www.real.com/devzone
//
//  This program contains proprietary
//  information of Progressive Networks, Inc, and is licensed
//  subject to restrictions on use and distribution.
//
//
//  RealMedia Architecture Plug-in Interfaces.
//
//

// Note : GUIDS 3101 - 3107 are deprecated.

//***************************************************************************
//
//  Interface:
//
//	IRMAKeyValueListIter
//
//  Purpose:
//
//	Iterate over all the items in a CKeyValueList.
//      Call IRMAKeyValueList::GetIter to create an iterator.
//
//
//  IRMAKeyValueListIter:
//
//	{0x00003109-0901-11d1-8B06-00A024406D59}
//
//

const
  IID_IRMAKeyValueListIter: TGUID = '{00003109-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAKeyValueListIter}

  CLSID_IRMAKeyValueListIter: TGUID = '{00003109-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM CLSID_IRMAKeyValueListIter}

type
  IRMAKeyValueListIter = interface (IUnknown)
  ['{00003109-0901-11d1-8B06-00A024406D59}']

    //************************************************************************
    //	Method:
    //	    IRMAKeyValueListIter::GetNextPair
    //	Purpose:
    //      Each call to this method returns one key/value tuple from your
    //      list of strings.  Strings are returned in same order that they
    //      were inserted.
    //

    function GetNextPair(pKey: PPChar; out pStr: IRMABuffer): HRESULT; stdcall;

    //************************************************************************
    //	Method:
    //	    IRMAKeyValueListIter::ReplaceCurr
    //	Purpose:
    //      Replaces the value in the key/value tuple that was returned
    //      in the last call to GetNextPair with a new string.
    //

    function ReplaceCurr(pStr: IRMABuffer): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAKeyValueListIter}

//***************************************************************************
//
//  Interface:
//
//	IRMAKeyValueListIterOneKey
//
//  Purpose:
//
//	Iterate over all the items in a CKeyValueList that match a particular key.
//      Call IRMAKeyValueList::GetIterOneKey to create an iterator.
//
//
//  IRMAKeyValueListIterOneKey:
//
//	{0x00003110-0901-11d1-8B06-00A024406D59}
//
//

const
  IID_IRMAKeyValueListIterOneKey: TGUID = '{00003110-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAKeyValueListIterOneKey}

  CLSID_IRMAKeyValueListIterOneKey: TGUID = '{00003110-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM CLSID_IRMAKeyValueListIterOneKey}

type
  IRMAKeyValueListIterOneKey = interface (IUnknown)
  ['{00003110-0901-11d1-8B06-00A024406D59}']

    //************************************************************************
    //	Method:
    //	    IRMAKeyValueListIterOneKey::GetNextString
    //	Purpose:
    //      Each call to this method returns one string that matches the
    //      key for this iterator.  Strings are returned in same order that they
    //      were inserted.
    //
    //

    function GetNextString(out pStr: IRMABuffer): HRESULT; stdcall;

    //************************************************************************
    //	Method:
    //	    IRMAKeyValueListIterOneKey::ReplaceCurr
    //	Purpose:
    //      Replaces the value in the key/value tuple that was referenced
    //      in the last call to GetNextString with a new string.
    //
    //

    function ReplaceCurr(pStr: IRMABuffer): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAKeyValueListIterOneKey}

//***************************************************************************
//
//  Interface:
//
//	IRMAKeyValueList
//
//  Purpose:
//
//	Stores a list of strings, where strings are keyed by not necessarily
//      unique keys.
//
//
//  IRMAKeyValueList:
//
//	{0x00003108-0901-11d1-8B06-00A024406D59}
//
//

const
  IID_IRMAKeyValueList: TGUID = '{00003108-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAKeyValueList}

  CLSID_IRMAKeyValueList: TGUID = '{00003108-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM CLSID_IRMAKeyValueList}

type
  IRMAKeyValueList = interface (IUnknown)
  ['{00003108-0901-11d1-8B06-00A024406D59}']

    //***********************************************************************
    //Method:
    //    IRMAKeyValueList::AddKeyValue
    //Purpose:
    //     Add a new key/value tuple to our list of strings.  You can have
    //     multiple strings for the same key.
    //

    function AddKeyValue(pKey: PChar; pStr: IRMABuffer): HRESULT; stdcall;

    //***********************************************************************
    //Method:
    //    IRMAKeyValueList::GetIter
    //Purpose:
    //     Return an iterator that allows you to iterate through all the
    //     key/value tuples in our list of strings.
    //

    function GetIter(out pIter: IRMAKeyValueListIter): HRESULT; stdcall;

    //***********************************************************************
    //Method:
    //    IRMAKeyValueList::GetIterOneKey
    //Purpose:
    //     Return an iterator that allows you to iterate through all the
    //     strings for a particular key.
    //

    function GetIterOneKey(pKey: PChar; out pIter: IRMAKeyValueListIterOneKey): HRESULT; stdcall;

    //***********************************************************************
    //Method:
    //    IRMAKeyValueList::AppendAllListItems
    //Purpose:
    //     Append all the key/string tuples from another list to this list.
    //     (You can have duplicate keys.)
    //

    function AppendAllListItems(pList: IRMAKeyValueList): HRESULT; stdcall;

    //***********************************************************************
    //Method:
    //    IRMAKeyValueList::KeyExists
    //Purpose:
    //     See whether any strings exist for a particular key.
    //

    function KeyExists(pKey: PChar): BOOL; stdcall;

    //***********************************************************************
    //Method:
    //    IRMAKeyValueList::CreateObject
    //Purpose:
    //     Create an empty object that is the same class as the current object.
    //

    function CreateObject(out pNewList: IRMAKeyValueList): HRESULT; stdcall;

    //***********************************************************************
    //Method:
    //    IRMAKeyValueList::ImportValues.
    //Purpose:
    //     Import all the strings from an IRMAValues object into this object.
    //     If this object also supports IRMAValues, it should also import the
    //     ULONGs and Buffers.  You can have duplicate keys, and old data is
    //     left untouched.
    //

    function ImportValues(pValues: IRMAValues): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAKeyValueList}

//***************************************************************************
//
//  Interface:
//
//	IRMAOptions
//
//  Purpose:
//
//	This is a generic options interface, implemented by any object to
//	allow its options to be read and set by another component of the
//	system.
//
//
//  IRMAOptions:
//
//	{0x00003111-0901-11d1-8B06-00A024406D59}
//
//

const
  IID_IRMAOptions: TGUID = '{00003111-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAOptions}

  CLSID_IRMAOptions: TGUID = '{00003111-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM CLSID_IRMAOptions}

type
  IRMAOptions = interface (IUnknown)
  ['{00003111-0901-11d1-8B06-00A024406D59}']

    //************************************************************************
    //	Method:
    //	    IRMAOptions::GetOptions
    //	Purpose:
    //      This method returns a list of the options supported by this
    //	    particular object, along with the value currently set for each
    //	    option. Enumerate the members of the returned IRMAValues object
    //	    to discover what options a component supports and the type of
    //	    each of those options. The value for each name-value pair is
    //	    the current setting for that option.
    //
    //

    function GetOptions(out pOptions: IRMAValues): HRESULT; stdcall;

    //************************************************************************
    //	Method:
    //	    IRMAOptions::SetOptionULONG32
    //	Purpose:
    //      Sets the value of a ULONG32 option. The return value indicates
    //	    whether or not the SetOptionULONG32 call succeeded.
    //
    //

    function SetOptionULONG32(pName: PChar; ulValue: ULONG32): HRESULT; stdcall;

    //************************************************************************
    //	Method:
    //	    IRMAOptions::SetOptionCString
    //	Purpose:
    //      Sets the value of a CString option. The return value indicates
    //	    whether or not the SetOptionCString call succeeded.
    //
    //

    function SetOptionCString(pName: PChar; pValue: IRMABuffer): HRESULT; stdcall;

    //************************************************************************
    //	Method:
    //	    IRMAOptions::SetOptionBuffer
    //	Purpose:
    //      Sets the value of a Buffer option. The return value indicates
    //	    whether or not the SetOptionBuffer call succeeded.
    //
    //

    function SetOptionBuffer(pName: PChar; pValue: IRMABuffer): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAOptions}

implementation

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -