quartz: Use an IDL file to define the IAMFilterData iface.
This commit is contained in:
parent
cf010c563c
commit
27e1d5adb7
|
@ -108,6 +108,7 @@ dlls/qmgr/qmgr_local_i.c
|
||||||
dlls/qmgrprxy/qmgrprxy.h
|
dlls/qmgrprxy/qmgrprxy.h
|
||||||
dlls/qmgrprxy/qmgrprxy_i.c
|
dlls/qmgrprxy/qmgrprxy_i.c
|
||||||
dlls/qmgrprxy/qmgrprxy_p.c
|
dlls/qmgrprxy/qmgrprxy_p.c
|
||||||
|
dlls/quartz/fil_data.h
|
||||||
dlls/quartz/quartz_strmif.h
|
dlls/quartz/quartz_strmif.h
|
||||||
dlls/quartz/quartz_strmif_p.c
|
dlls/quartz/quartz_strmif_p.c
|
||||||
dlls/rpcrt4/epm.h
|
dlls/rpcrt4/epm.h
|
||||||
|
|
|
@ -29,6 +29,7 @@ C_SRCS = \
|
||||||
|
|
||||||
RC_SRCS = version.rc
|
RC_SRCS = version.rc
|
||||||
|
|
||||||
|
IDL_H_SRCS = fil_data.idl
|
||||||
IDL_P_SRCS = quartz_strmif.idl
|
IDL_P_SRCS = quartz_strmif.idl
|
||||||
IDL_R_SRCS = quartz_strmif.idl
|
IDL_R_SRCS = quartz_strmif.idl
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2009 Vitaliy Margolen
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
import "objidl.idl";
|
||||||
|
import "strmif.idl";
|
||||||
|
import "unknwn.idl";
|
||||||
|
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* IAMFilterData interface
|
||||||
|
*
|
||||||
|
* Notes:
|
||||||
|
* - This interface is deprecated and IFilterMapper2 should be used instead.
|
||||||
|
* - There is no full replacement for IAMFilterData::ParseFilterData short of manually
|
||||||
|
* parsing out the REGFILTER2 struct from the binary blob.
|
||||||
|
*/
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(97f7c4d4-547b-4a5f-8332-536430ad2e4d),
|
||||||
|
pointer_default(unique)
|
||||||
|
]
|
||||||
|
interface IAMFilterData : IUnknown
|
||||||
|
{
|
||||||
|
typedef [unique] IAMFilterData *LPIAMFILTERDATA;
|
||||||
|
|
||||||
|
HRESULT ParseFilterData(
|
||||||
|
[in] BYTE * rgbFilterData,
|
||||||
|
[in] ULONG cb,
|
||||||
|
[out] BYTE ** prgbRegFilter2);
|
||||||
|
|
||||||
|
HRESULT CreateFilterData(
|
||||||
|
[in] REGFILTER2 * prf2,
|
||||||
|
[out] BYTE ** prgbFilterData,
|
||||||
|
[out] ULONG * pcb);
|
||||||
|
}
|
|
@ -36,6 +36,8 @@
|
||||||
#include "strmif.h"
|
#include "strmif.h"
|
||||||
#include "wine/unicode.h"
|
#include "wine/unicode.h"
|
||||||
#include "uuids.h"
|
#include "uuids.h"
|
||||||
|
#include "initguid.h"
|
||||||
|
#include "fil_data.h"
|
||||||
|
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
|
||||||
|
@ -43,49 +45,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(quartz);
|
||||||
|
|
||||||
#define ARRAYSIZE(array) (sizeof(array)/sizeof((array)[0]))
|
#define ARRAYSIZE(array) (sizeof(array)/sizeof((array)[0]))
|
||||||
|
|
||||||
/* Unexposed IAMFilterData interface */
|
|
||||||
typedef struct IAMFilterData IAMFilterData;
|
|
||||||
|
|
||||||
typedef struct IAMFilterDataVtbl
|
|
||||||
{
|
|
||||||
BEGIN_INTERFACE
|
|
||||||
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
||||||
IAMFilterData *This,
|
|
||||||
REFIID riid,
|
|
||||||
void **ppvObject);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
||||||
IAMFilterData *This);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *Release)(
|
|
||||||
IAMFilterData *This);
|
|
||||||
|
|
||||||
/*** IAMFilterData methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *ParseFilterData)(
|
|
||||||
IAMFilterData *This,
|
|
||||||
BYTE *pData,
|
|
||||||
ULONG cb,
|
|
||||||
BYTE **ppRegFilter2);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *CreateFilterData)(
|
|
||||||
IAMFilterData* This,
|
|
||||||
REGFILTER2 *prf2,
|
|
||||||
BYTE **pRegFilterData,
|
|
||||||
ULONG *pcb);
|
|
||||||
|
|
||||||
END_INTERFACE
|
|
||||||
} IAMFilterDataVtbl;
|
|
||||||
struct IAMFilterData
|
|
||||||
{
|
|
||||||
const IAMFilterDataVtbl *lpVtbl;
|
|
||||||
};
|
|
||||||
static const GUID IID_IAMFilterData = {
|
|
||||||
0x97f7c4d4, 0x547b, 0x4a5f, { 0x83,0x32, 0x53,0x64,0x30,0xad,0x2e,0x4d }
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct FilterMapper3Impl
|
typedef struct FilterMapper3Impl
|
||||||
{
|
{
|
||||||
IFilterMapper3 IFilterMapper3_iface;
|
IFilterMapper3 IFilterMapper3_iface;
|
||||||
|
|
Loading…
Reference in New Issue