//------------------------------------------------------------------------------ // // // 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 ) ; } ;