source: trunk/DirectShowSpy/fil_data.h @ 937

Last change on this file since 937 was 588, checked in by roman, 8 years ago
File size: 5.6 KB
RevLine 
[588]1//------------------------------------------------------------------------------
2// File: fil_data.h
3//
4// Desc: DirectShow sample code - an MFC based C++ filter mapper application.
5//
6// Copyright (c) Microsoft Corporation.  All rights reserved.
7//------------------------------------------------------------------------------
8
9/* this ALWAYS GENERATED file contains the definitions for the interfaces */
10
11/* File created by MIDL compiler version 5.01.0164 */
12/* at Sat Oct 23 12:28:23 1999
13 */
14/* Compiler settings for fil_data.idl:
15    Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
16    error checks: allocation ref bounds_check enum stub_data
17*/
18//@@MIDL_FILE_HEADING(  )
19
20
21/* verify that the <rpcndr.h> version is high enough to compile this file*/
22#ifndef __REQUIRED_RPCNDR_H_VERSION__
23#define __REQUIRED_RPCNDR_H_VERSION__ 440
24#endif
25
26#include "rpc.h"
27#include "rpcndr.h"
28
29#ifndef __RPCNDR_H_VERSION__
30#error this stub requires an updated version of <rpcndr.h>
31#endif // __RPCNDR_H_VERSION__
32
33#ifndef COM_NO_WINDOWS_H
34#include "windows.h"
35#include "ole2.h"
36#endif /*COM_NO_WINDOWS_H*/
37
38#ifndef __fil_data_h__
39#define __fil_data_h__
40
41#ifdef __cplusplus
42extern "C"{
43#endif
44
45/* Forward Declarations */ 
46
47#ifndef __IAMFilterData_FWD_DEFINED__
48#define __IAMFilterData_FWD_DEFINED__
49typedef interface IAMFilterData IAMFilterData;
50#endif  /* __IAMFilterData_FWD_DEFINED__ */
51
52
53/* header files for imported files */
54#include "unknwn.h"
55#include "strmif.h"
56
57void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
58void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
59
60/* interface __MIDL_itf_fil_data_0000 */
61/* [local] */ 
62
63
64
65
66extern RPC_IF_HANDLE __MIDL_itf_fil_data_0000_v0_0_c_ifspec;
67extern RPC_IF_HANDLE __MIDL_itf_fil_data_0000_v0_0_s_ifspec;
68
69#ifndef __IAMFilterData_INTERFACE_DEFINED__
70#define __IAMFilterData_INTERFACE_DEFINED__
71
72/* interface IAMFilterData */
73/* [unique][uuid][object] */ 
74
75
76EXTERN_C const IID IID_IAMFilterData;
77
78#if defined(__cplusplus) && !defined(CINTERFACE)
79   
80    MIDL_INTERFACE("97f7c4d4-547b-4a5f-8332-536430ad2e4d")
81    IAMFilterData : public IUnknown
82    {
83    public:
84        virtual HRESULT STDMETHODCALLTYPE ParseFilterData( 
85            /* [size_is][in] */ BYTE __RPC_FAR *rgbFilterData,
86            /* [in] */ ULONG cb,
87            /* [out] */ BYTE __RPC_FAR *__RPC_FAR *prgbRegFilter2) = 0;
88       
89        virtual HRESULT STDMETHODCALLTYPE CreateFilterData( 
90            /* [in] */ REGFILTER2 __RPC_FAR *prf2,
91            /* [out] */ BYTE __RPC_FAR *__RPC_FAR *prgbFilterData,
92            /* [out] */ ULONG __RPC_FAR *pcb) = 0;
93       
94    };
95   
96#else   /* C style interface */
97
98    typedef struct IAMFilterDataVtbl
99    {
100        BEGIN_INTERFACE
101       
102        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
103            IAMFilterData __RPC_FAR * This,
104            /* [in] */ REFIID riid,
105            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
106       
107        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
108            IAMFilterData __RPC_FAR * This);
109       
110        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
111            IAMFilterData __RPC_FAR * This);
112       
113        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ParseFilterData )( 
114            IAMFilterData __RPC_FAR * This,
115            /* [size_is][in] */ BYTE __RPC_FAR *rgbFilterData,
116            /* [in] */ ULONG cb,
117            /* [out] */ BYTE __RPC_FAR *__RPC_FAR *prgbRegFilter2);
118       
119        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateFilterData )( 
120            IAMFilterData __RPC_FAR * This,
121            /* [in] */ REGFILTER2 __RPC_FAR *prf2,
122            /* [out] */ BYTE __RPC_FAR *__RPC_FAR *prgbFilterData,
123            /* [out] */ ULONG __RPC_FAR *pcb);
124       
125        END_INTERFACE
126    } IAMFilterDataVtbl;
127
128    interface IAMFilterData
129    {
130        CONST_VTBL struct IAMFilterDataVtbl __RPC_FAR *lpVtbl;
131    };
132
133   
134
135#ifdef COBJMACROS
136
137
138#define IAMFilterData_QueryInterface(This,riid,ppvObject)       \
139    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
140
141#define IAMFilterData_AddRef(This)      \
142    (This)->lpVtbl -> AddRef(This)
143
144#define IAMFilterData_Release(This)     \
145    (This)->lpVtbl -> Release(This)
146
147
148#define IAMFilterData_ParseFilterData(This,rgbFilterData,cb,prgbRegFilter2)     \
149    (This)->lpVtbl -> ParseFilterData(This,rgbFilterData,cb,prgbRegFilter2)
150
151#define IAMFilterData_CreateFilterData(This,prf2,prgbFilterData,pcb)    \
152    (This)->lpVtbl -> CreateFilterData(This,prf2,prgbFilterData,pcb)
153
154#endif /* COBJMACROS */
155
156
157#endif  /* C style interface */
158
159
160
161HRESULT STDMETHODCALLTYPE IAMFilterData_ParseFilterData_Proxy( 
162    IAMFilterData __RPC_FAR * This,
163    /* [size_is][in] */ BYTE __RPC_FAR *rgbFilterData,
164    /* [in] */ ULONG cb,
165    /* [out] */ BYTE __RPC_FAR *__RPC_FAR *prgbRegFilter2);
166
167
168void __RPC_STUB IAMFilterData_ParseFilterData_Stub(
169    IRpcStubBuffer *This,
170    IRpcChannelBuffer *_pRpcChannelBuffer,
171    PRPC_MESSAGE _pRpcMessage,
172    DWORD *_pdwStubPhase);
173
174
175HRESULT STDMETHODCALLTYPE IAMFilterData_CreateFilterData_Proxy( 
176    IAMFilterData __RPC_FAR * This,
177    /* [in] */ REGFILTER2 __RPC_FAR *prf2,
178    /* [out] */ BYTE __RPC_FAR *__RPC_FAR *prgbFilterData,
179    /* [out] */ ULONG __RPC_FAR *pcb);
180
181
182void __RPC_STUB IAMFilterData_CreateFilterData_Stub(
183    IRpcStubBuffer *This,
184    IRpcChannelBuffer *_pRpcChannelBuffer,
185    PRPC_MESSAGE _pRpcMessage,
186    DWORD *_pdwStubPhase);
187
188
189
190#endif  /* __IAMFilterData_INTERFACE_DEFINED__ */
191
192
193/* Additional Prototypes for ALL interfaces */
194
195/* end of Additional Prototypes */
196
197#ifdef __cplusplus
198}
199#endif
200
201#endif
Note: See TracBrowser for help on using the repository browser.