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

📄 rmaphook.pas

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

interface

uses
  PnTypes, RmaPckts;

//***************************************************************************
//
//  $Id: rmaphook.h,v 1.6 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 Progressive Networks, Inc, and is licensed
//  subject to restrictions on use and distribution.
//
//
//  RealMedia Architecture Selective Record interface
//
//

//***************************************************************************
//
//  Interface:
//
//	IRMAPacketHook
//
//  Purpose:
//
//	Interface implemented by the top level client to support selective
//	record
//
//  IID_IRMAPacketHook:
//
//	{00002000-0901-11d1-8B06-00A024406D59}
//
//

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

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

    //***********************************************************************
    //	Method:
    //	    IRMAPacketHook::OnStart
    //	Purpose:
    //	    Called by the core to notify the start of this packet hook session
    //

    function OnStart: HRESULT; stdcall;

    //***********************************************************************
    //	Method:
    //	    IRMAPacketHook::OnEnd
    //	Purpose:
    //	    Called by the core to notify the end of this packet hook session
    //

    function OnEnd: HRESULT; stdcall;

    //***********************************************************************
    //	Method:
    //	    IRMAPacketHook::OnFileHeader
    //	Purpose:
    //	    Called by the core to send file header information
    //
    //

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

    //***********************************************************************
    //	Method:
    //	    IRMAPacketHook::OnStreamHeader
    //	Purpose:
    //	    Called by the core to send stream header information
    //
    //

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

    //***********************************************************************
    //	Method:
    //	    IRMAPacketHook:OnPacket
    //	Purpose:
    //	    Called by the core to send packet information.
    //
    //

    function OnPacket(pPacket: IRMAPacket): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAPacketHook}

//***************************************************************************
//
//  Interface:
//
//	IRMAPacketHookManager
//
//  Purpose:
//
//	Interface to the selective record
//
//  IID_IRMAPacketHookManager
//
//	{00002001-0901-11d1-8B06-00A024406D59}
//

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

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

    //***********************************************************************
    //	Method:
    //	    IRMAPacketHookManager::InitHook
    //	Purpose:
    //	    called by the top level client to pass the IRMAPacketHook object
    //

    function InitHook(pPacketHook: IRMAPacketHook): HRESULT; stdcall;

    //***********************************************************************
    //  Method:
    //      IRMAPacketHookManager::CloseHook
    //	Purpose:
    //	    called by the top level client to close the hook connection
    //

    function CloseHook: HRESULT; stdcall;

    //***********************************************************************
    //	Method:
    //      IRMAPacketHookManager::StartHook
    //	Purpose:
    //	    called by the top level client to start recording
    //

    function StartHook: HRESULT; stdcall;

    //***********************************************************************
    //	Method:
    //	    IRMAPacketHookManager::StopHook
    //	Purpose:
    //	    called by the top level client to stop recording
    //

    function StopHook: HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAPacketHookManager}

//***************************************************************************
//
//  Interface:
//
//	IRMAPacketHookHelperResponse
//
//  Purpose:
//
//	Response interface to the IRMAPacketHookHelper at renderer
//
//  IID_IRMAPacketHookHelperResponse
//
//	{00002003-0901-11d1-8B06-00A024406D59}
//

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

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

    //***********************************************************************
    //	Method:
    //	    IRMAPacketHookHelperResponse::OnPacket
    //	Purpose:
    //	    called by the renderer to pass the packet for recording
    //

    function OnPacket(pPacket: IRMAPacket): HRESULT; stdcall;

    //***********************************************************************
    //	Method:
    //	    IRMAPacketHookManager::OnEndOfPackets
    //	Purpose:
    //	    called by the renderer to notify the end of this stream
    //

    function OnEndOfPackets: HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAPacketHookHelperResponse}
  
//***************************************************************************
//
//  Interface:
//
//	IRMAPacketHookHelper
//
//  Purpose:
//
//	provide methods to prepare the packet for recording and send back the core
//
//  IID_IRMAPacketHookHelper:
//
//	{00002002-0901-11d1-8B06-00A024406D59}
//
//

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

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

    //*****************************************************************
    // Method:
    //     IRMAPacketHookHelper::StartHook
    //
    // Purpose:
    //	   tell the renderer to start sending the record packets
    //
    //

    function StartHook(ulStreamNumber, ulTimeOffset: ULONG32;
      pPacketHookHelperResponse: IRMAPacketHookHelperResponse): HRESULT; stdcall;


    //*****************************************************************
    // Method:
    //    IRMAPacketHookHelper::StopHook
    //
    // Purpose:
    //    tell the renderer to stop sending the record packets
    //

    function StopHook: HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAPacketHookHelper}

implementation

end.

⌨️ 快捷键说明

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