//------------------------------------------------------------------------------
//
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// The use and distribution terms for this software are covered by the
// Microsoft Limited Public License (Ms-LPL)
// http://www.microsoft.com/resources/sharedsource/licensingbasics/limitedpubliclicense.mspx
// which can be found in the file MS-LPL.txt at the root of this distribution.
// By using this software in any fashion, you are agreeing to be bound by
// the terms of this license.
//
// You must not remove this notice, or any other, from this software.
//
//
//
// DShow MPEG-2 Demux filter for Windows CE
//
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// File: BDAIface.idl
//
// Desc: This file defines the Ring 3 BDA interfaces that are common to
// all BDA network and device types.
//
// The interfaces specific to a particular Network Type or filter
// implementation are defined in a separate include file for that
// Network Type or filter implementation.
//
//------------------------------------------------------------------------------
//---------------------------------------------------------------------
// IUnknown import idl
//---------------------------------------------------------------------
#ifndef DO_NO_IMPORTS
import "unknwn.idl";
import "strmif.idl";
import "BdaTypes.h";
#endif
//
// mpeg-2 demultiplexer-specific interfaces follow
//
//---------------------------------------------------------------------
// IEnumPIDMap interface
//---------------------------------------------------------------------
[
object,
uuid (afb6c2a2-2c41-11d3-8a60-0000f81e0e4a),
pointer_default(unique)
]
interface IEnumPIDMap : IUnknown
{
HRESULT
Next (
[in] ULONG cRequest,
[in, out, size_is (cRequest)] PID_MAP * pPIDMap,
[out] ULONG * pcReceived
) ;
HRESULT
Skip (
[in] ULONG cRecords
) ;
HRESULT
Reset (
) ;
HRESULT
Clone (
[out] IEnumPIDMap ** ppIEnumPIDMap
) ;
} ;
//---------------------------------------------------------------------
// IMPEG2PIDMap interface
//---------------------------------------------------------------------
[
object,
uuid (afb6c2a1-2c41-11d3-8a60-0000f81e0e4a),
pointer_default(unique)
]
interface IMPEG2PIDMap : IUnknown
{
HRESULT
MapPID (
[in] ULONG culPID,
[in] ULONG * pulPID,
[in] MEDIA_SAMPLE_CONTENT MediaSampleContent
) ;
HRESULT
UnmapPID (
[in] ULONG culPID,
[in] ULONG * pulPID
) ;
HRESULT
EnumPIDMap (
[out] IEnumPIDMap ** pIEnumPIDMap
) ;
} ;