1/*
2 * Copyright (C) 2009 Vitaliy Margolen
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19#pragma makedep header
20
21import "objidl.idl";
22import "strmif.idl";
23import "unknwn.idl";
24
25
26/*****************************************************************************
27 * IAMFilterData interface
28 *
29 * Notes:
30 *     - This interface is deprecated and IFilterMapper2 should be used instead.
31 *     - There is no full replacement for IAMFilterData::ParseFilterData short of manually
32 *       parsing out the REGFILTER2 struct from the binary blob.
33 */
34[
35    object,
36    uuid(97f7c4d4-547b-4a5f-8332-536430ad2e4d),
37    pointer_default(unique)
38]
39interface IAMFilterData : IUnknown
40{
41    typedef [unique] IAMFilterData *LPIAMFILTERDATA;
42
43    HRESULT ParseFilterData(
44        [in] BYTE * rgbFilterData,
45        [in] ULONG cb,
46        [out] BYTE ** prgbRegFilter2);
47
48    HRESULT CreateFilterData(
49        [in] REGFILTER2 * prf2,
50        [out] BYTE ** prgbFilterData,
51        [out] ULONG * pcb);
52}
53