📄 rmavalue.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 + -