atl80: Added AtlComModuleRegisterServer implementation (based on AtlModuleRegisterSer...
[wine] / dlls / quartz / fil_data.idl
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 import "objidl.idl";
20 import "strmif.idl";
21 import "unknwn.idl";
22
23
24 /*****************************************************************************
25  * IAMFilterData interface
26  *
27  * Notes:
28  *     - This interface is deprecated and IFilterMapper2 should be used instead.
29  *     - There is no full replacement for IAMFilterData::ParseFilterData short of manually
30  *       parsing out the REGFILTER2 struct from the binary blob.
31  */
32 [
33     object,
34     uuid(97f7c4d4-547b-4a5f-8332-536430ad2e4d),
35     pointer_default(unique)
36 ]
37 interface IAMFilterData : IUnknown
38 {
39     typedef [unique] IAMFilterData *LPIAMFILTERDATA;
40
41     HRESULT ParseFilterData(
42         [in] BYTE * rgbFilterData,
43         [in] ULONG cb,
44         [out] BYTE ** prgbRegFilter2);
45
46     HRESULT CreateFilterData(
47         [in] REGFILTER2 * prf2,
48         [out] BYTE ** prgbFilterData,
49         [out] ULONG * pcb);
50 }