rmasrc.pas

来自「Delphi源码REAlRMSDK.rar」· PAS 代码 · 共 184 行

PAS
184
字号
unit RmaSrc;

interface

uses
  PnResult, PnTypes, RmaFiles, RmaPckts;

//***************************************************************************
//
//  $Id: rmasrc.h,v 1.17 1999/01/29 18:32:12 hboone Exp $
//
//  Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
//
//  http://www.real.com/devzone
//
//  This program contains proprietary information of RealNetworks, Inc,
//  and is licensed subject to restrictions on use and distribution.
//
//
//  RealMedia Architecture Packet Source Interfaces.
//
//

//***************************************************************************
//
//  Interface:
//
//	IRMARawSourceObject
//
//  Purpose:
//
//	Object that serves packets to sinks
//
//  IID_IRMARawSourceObject:
//
//	{00001000-0901-11d1-8B06-00A024406D59}
//
//

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

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

    //***********************************************************************
    //	Method:
    //	    IRMARawSourceObject::Init
    //	Purpose:
    //	    Initializes the connection between the source and the sink
    //

    function Init(pUnknown: IUnknown): HRESULT; stdcall;

    function Done: HRESULT; stdcall;

    function GetFileHeader: HRESULT; stdcall;

    function GetStreamHeader(unStreamNumber: UINT16): HRESULT; stdcall;

    function StartPackets(unStreamNumber: UINT16): HRESULT; stdcall;

    function StopPackets(unStreamNumber: UINT16): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMARawSourceObject}

//***************************************************************************
//
//  Interface:
//
//	IRMARawSinkObject
//
//  Purpose:
//
//	Object that receives raw packets from a source
//
//  IID_IRMARawSinkObject:
//
//	{00001001-0901-11d1-8B06-00A024406D59}
//
//

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

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

    //***********************************************************************
    //	Method:
    //	    IRMARawSinkObject::InitDone
    //	Purpose:
    //	    Callback after source object has initialized the connection
    //

    function InitDone(status: PN_RESULT): HRESULT; stdcall;

    function FileHeaderReady(status: PN_RESULT; pHeader: IRMAValues): HRESULT; stdcall;

    function StreamHeaderReady(status: PN_RESULT; pHeader: IRMAValues): HRESULT; stdcall;

    function PacketReady(status: PN_RESULT; pPacket: IRMAPacket): HRESULT; stdcall;

    function StreamDone(unStreamNumber: UINT16): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMARawSinkObject}

//***************************************************************************
//
//  Interface:
//
//	IRMASourceFinderObject
//
//  Purpose:
//
//	Object that allows a sink to search for a raw packet source
//
//  IID_IRMASourceFinderObject:
//
//	{00001002-0901-11d1-8B06-00A024406D59}
//
//

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

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

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

    function Init(pUnknown: IUnknown): HRESULT; stdcall;

    function Find(pRequest: IRMARequest): HRESULT; stdcall;

    function Done: HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMASourceFinderObject}

//***************************************************************************
//
//  Interface:
//
//	IRMASourceFinderResponse
//
//  Purpose:
//
//	Object that returns a raw packet source to a sink
//
//  IID_IRMASourceFinderResponse:
//
//	{00001003-0901-11d1-8B06-00A024406D59}
//
//

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

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

    function InitDone(status: PN_RESULT): HRESULT; stdcall;

    function FindDone(status: PN_RESULT; pUnknown: IUnknown): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMASourceFinderResponse}

implementation

end.

⌨️ 快捷键说明

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