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