1 /*** Autogenerated by WIDL 1.6 from include/filter.idl - Do not edit ***/
2 
3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
5 #endif
6 
7 #include <rpc.h>
8 #include <rpcndr.h>
9 
10 #ifndef COM_NO_WINDOWS_H
11 #include <windows.h>
12 #include <ole2.h>
13 #endif
14 
15 #ifndef __filter_h__
16 #define __filter_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __IFilter_FWD_DEFINED__
21 #define __IFilter_FWD_DEFINED__
22 typedef interface IFilter IFilter;
23 #endif
24 
25 /* Headers for imported files */
26 
27 #include <unknwn.h>
28 #include <objidl.h>
29 #include <propidl.h>
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 #ifndef __IFilter_FWD_DEFINED__
36 #define __IFilter_FWD_DEFINED__
37 typedef interface IFilter IFilter;
38 #endif
39 
40 #include <winapifamily.h>
41 
42 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
43 #ifndef _TAGFULLPROPSPEC_DEFINED_
44 #define _TAGFULLPROPSPEC_DEFINED_
45 typedef struct tagFULLPROPSPEC {
46     GUID guidPropSet;
47     PROPSPEC psProperty;
48 } FULLPROPSPEC;
49 #endif
50 #ifndef _tagIFILTER_INIT_DEFINED
51 #define _tagIFILTER_INIT_DEFINED
52 typedef enum tagIFILTER_INIT {
53     IFILTER_INIT_CANON_PARAGRAPHS = 0x1,
54     IFILTER_INIT_HARD_LINE_BREAKS = 0x2,
55     IFILTER_INIT_CANON_HYPHENS = 0x4,
56     IFILTER_INIT_CANON_SPACES = 0x8,
57     IFILTER_INIT_APPLY_INDEX_ATTRIBUTES = 0x10,
58     IFILTER_INIT_APPLY_OTHER_ATTRIBUTES = 0x20,
59     IFILTER_INIT_INDEXING_ONLY = 0x40,
60     IFILTER_INIT_SEARCH_LINKS = 0x80,
61     IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES = 0x100,
62     IFILTER_INIT_FILTER_OWNED_VALUE_OK = 0x200,
63     IFILTER_INIT_FILTER_AGGRESSIVE_BREAK = 0x400,
64     IFILTER_INIT_DISABLE_EMBEDDED = 0x800,
65     IFILTER_INIT_EMIT_FORMATTING = 0x1000
66 } IFILTER_INIT;
67 #define _IFILTER_INIT_DEFINED
68 #endif
69 #ifndef _tagIFILTER_FLAGS_DEFINED
70 #define _tagIFILTER_FLAGS_DEFINED
71 typedef enum tagIFILTER_FLAGS {
72     IFILTER_FLAGS_OLE_PROPERTIES = 1
73 } IFILTER_FLAGS;
74 #define _IFILTER_FLAGS_DEFINED
75 #endif
76 #ifndef _tagCHUNKSTATE_DEFINED
77 #define _tagCHUNKSTATE_DEFINED
78 typedef enum tagCHUNKSTATE {
79     CHUNK_TEXT = 0x1,
80     CHUNK_VALUE = 0x2,
81     CHUNK_FILTER_OWNED_VALUE = 0x4
82 } CHUNKSTATE;
83 #define _CHUNKSTATE_DEFINED
84 #endif
85 #ifndef _tagCHUNK_BREAKTYPE_DEFINED
86 #define _tagCHUNK_BREAKTYPE_DEFINED
87 typedef enum tagCHUNK_BREAKTYPE {
88     CHUNK_NO_BREAK = 0,
89     CHUNK_EOW = 1,
90     CHUNK_EOS = 2,
91     CHUNK_EOP = 3,
92     CHUNK_EOC = 4
93 } CHUNK_BREAKTYPE;
94 #define _CHUNK_BREAKTYPE_DEFINED
95 #endif
96 #ifndef _tagFILTERREGION_DEFINED
97 #define _tagFILTERREGION_DEFINED
98 typedef struct tagFILTERREGION {
99     ULONG idChunk;
100     ULONG cwcStart;
101     ULONG cwcExtent;
102 } FILTERREGION;
103 #define _FILTERREGION_DEFINED
104 #endif
105 #ifndef _tagSTAT_CHUNK_DEFINED
106 #define _tagSTAT_CHUNK_DEFINED
107 typedef struct tagSTAT_CHUNK {
108     ULONG idChunk;
109     CHUNK_BREAKTYPE breakType;
110     CHUNKSTATE flags;
111     LCID locale;
112     FULLPROPSPEC attribute;
113     ULONG idChunkSource;
114     ULONG cwcStartSource;
115     ULONG cwcLenSource;
116 } STAT_CHUNK;
117 #define _STAT_CHUNK_DEFINED
118 #endif
119 /*****************************************************************************
120  * IFilter interface
121  */
122 #ifndef __IFilter_INTERFACE_DEFINED__
123 #define __IFilter_INTERFACE_DEFINED__
124 
125 DEFINE_GUID(IID_IFilter, 0x89bcb740, 0x6119, 0x101a, 0xbc,0xb7, 0x00,0xdd,0x01,0x06,0x55,0xaf);
126 #if defined(__cplusplus) && !defined(CINTERFACE)
127 MIDL_INTERFACE("89bcb740-6119-101a-bcb7-00dd010655af")
128 IFilter : public IUnknown
129 {
130     virtual SCODE STDMETHODCALLTYPE Init(
131         ULONG grfFlags,
132         ULONG cAttributes,
133         const FULLPROPSPEC *aAttributes,
134         ULONG *pFlags) = 0;
135 
136     virtual SCODE STDMETHODCALLTYPE GetChunk(
137         STAT_CHUNK *pStat) = 0;
138 
139     virtual SCODE STDMETHODCALLTYPE GetText(
140         ULONG *pcwcBuffer,
141         WCHAR *awcBuffer) = 0;
142 
143     virtual SCODE STDMETHODCALLTYPE GetValue(
144         PROPVARIANT **ppPropValue) = 0;
145 
146     virtual SCODE STDMETHODCALLTYPE BindRegion(
147         FILTERREGION origPos,
148         REFIID riid,
149         void **ppunk) = 0;
150 
151 };
152 #ifdef __CRT_UUID_DECL
153 __CRT_UUID_DECL(IFilter, 0x89bcb740, 0x6119, 0x101a, 0xbc,0xb7, 0x00,0xdd,0x01,0x06,0x55,0xaf)
154 #endif
155 #else
156 typedef struct IFilterVtbl {
157     BEGIN_INTERFACE
158 
159     /*** IUnknown methods ***/
160     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
161         IFilter* This,
162         REFIID riid,
163         void **ppvObject);
164 
165     ULONG (STDMETHODCALLTYPE *AddRef)(
166         IFilter* This);
167 
168     ULONG (STDMETHODCALLTYPE *Release)(
169         IFilter* This);
170 
171     /*** IFilter methods ***/
172     SCODE (STDMETHODCALLTYPE *Init)(
173         IFilter* This,
174         ULONG grfFlags,
175         ULONG cAttributes,
176         const FULLPROPSPEC *aAttributes,
177         ULONG *pFlags);
178 
179     SCODE (STDMETHODCALLTYPE *GetChunk)(
180         IFilter* This,
181         STAT_CHUNK *pStat);
182 
183     SCODE (STDMETHODCALLTYPE *GetText)(
184         IFilter* This,
185         ULONG *pcwcBuffer,
186         WCHAR *awcBuffer);
187 
188     SCODE (STDMETHODCALLTYPE *GetValue)(
189         IFilter* This,
190         PROPVARIANT **ppPropValue);
191 
192     SCODE (STDMETHODCALLTYPE *BindRegion)(
193         IFilter* This,
194         FILTERREGION origPos,
195         REFIID riid,
196         void **ppunk);
197 
198     END_INTERFACE
199 } IFilterVtbl;
200 interface IFilter {
201     CONST_VTBL IFilterVtbl* lpVtbl;
202 };
203 
204 #ifdef COBJMACROS
205 #ifndef WIDL_C_INLINE_WRAPPERS
206 /*** IUnknown methods ***/
207 #define IFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
208 #define IFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
209 #define IFilter_Release(This) (This)->lpVtbl->Release(This)
210 /*** IFilter methods ***/
211 #define IFilter_Init(This,grfFlags,cAttributes,aAttributes,pFlags) (This)->lpVtbl->Init(This,grfFlags,cAttributes,aAttributes,pFlags)
212 #define IFilter_GetChunk(This,pStat) (This)->lpVtbl->GetChunk(This,pStat)
213 #define IFilter_GetText(This,pcwcBuffer,awcBuffer) (This)->lpVtbl->GetText(This,pcwcBuffer,awcBuffer)
214 #define IFilter_GetValue(This,ppPropValue) (This)->lpVtbl->GetValue(This,ppPropValue)
215 #define IFilter_BindRegion(This,origPos,riid,ppunk) (This)->lpVtbl->BindRegion(This,origPos,riid,ppunk)
216 #else
217 /*** IUnknown methods ***/
218 static FORCEINLINE HRESULT IFilter_QueryInterface(IFilter* This,REFIID riid,void **ppvObject) {
219     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
220 }
221 static FORCEINLINE ULONG IFilter_AddRef(IFilter* This) {
222     return This->lpVtbl->AddRef(This);
223 }
224 static FORCEINLINE ULONG IFilter_Release(IFilter* This) {
225     return This->lpVtbl->Release(This);
226 }
227 /*** IFilter methods ***/
228 static FORCEINLINE SCODE IFilter_Init(IFilter* This,ULONG grfFlags,ULONG cAttributes,const FULLPROPSPEC *aAttributes,ULONG *pFlags) {
229     return This->lpVtbl->Init(This,grfFlags,cAttributes,aAttributes,pFlags);
230 }
231 static FORCEINLINE SCODE IFilter_GetChunk(IFilter* This,STAT_CHUNK *pStat) {
232     return This->lpVtbl->GetChunk(This,pStat);
233 }
234 static FORCEINLINE SCODE IFilter_GetText(IFilter* This,ULONG *pcwcBuffer,WCHAR *awcBuffer) {
235     return This->lpVtbl->GetText(This,pcwcBuffer,awcBuffer);
236 }
237 static FORCEINLINE SCODE IFilter_GetValue(IFilter* This,PROPVARIANT **ppPropValue) {
238     return This->lpVtbl->GetValue(This,ppPropValue);
239 }
240 static FORCEINLINE SCODE IFilter_BindRegion(IFilter* This,FILTERREGION origPos,REFIID riid,void **ppunk) {
241     return This->lpVtbl->BindRegion(This,origPos,riid,ppunk);
242 }
243 #endif
244 #endif
245 
246 #endif
247 
248 SCODE STDMETHODCALLTYPE IFilter_Init_Proxy(
249     IFilter* This,
250     ULONG grfFlags,
251     ULONG cAttributes,
252     const FULLPROPSPEC *aAttributes,
253     ULONG *pFlags);
254 void __RPC_STUB IFilter_Init_Stub(
255     IRpcStubBuffer* This,
256     IRpcChannelBuffer* pRpcChannelBuffer,
257     PRPC_MESSAGE pRpcMessage,
258     DWORD* pdwStubPhase);
259 SCODE STDMETHODCALLTYPE IFilter_GetChunk_Proxy(
260     IFilter* This,
261     STAT_CHUNK *pStat);
262 void __RPC_STUB IFilter_GetChunk_Stub(
263     IRpcStubBuffer* This,
264     IRpcChannelBuffer* pRpcChannelBuffer,
265     PRPC_MESSAGE pRpcMessage,
266     DWORD* pdwStubPhase);
267 SCODE STDMETHODCALLTYPE IFilter_GetText_Proxy(
268     IFilter* This,
269     ULONG *pcwcBuffer,
270     WCHAR *awcBuffer);
271 void __RPC_STUB IFilter_GetText_Stub(
272     IRpcStubBuffer* This,
273     IRpcChannelBuffer* pRpcChannelBuffer,
274     PRPC_MESSAGE pRpcMessage,
275     DWORD* pdwStubPhase);
276 SCODE STDMETHODCALLTYPE IFilter_GetValue_Proxy(
277     IFilter* This,
278     PROPVARIANT **ppPropValue);
279 void __RPC_STUB IFilter_GetValue_Stub(
280     IRpcStubBuffer* This,
281     IRpcChannelBuffer* pRpcChannelBuffer,
282     PRPC_MESSAGE pRpcMessage,
283     DWORD* pdwStubPhase);
284 
285 #endif  /* __IFilter_INTERFACE_DEFINED__ */
286 
287 #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
288 /* Begin additional prototypes for all interfaces */
289 
290 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
291 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
292 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
293 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
294 ULONG           __RPC_USER LPSAFEARRAY_UserSize     (ULONG *, ULONG, LPSAFEARRAY *);
295 unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal  (ULONG *, unsigned char *, LPSAFEARRAY *);
296 unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
297 void            __RPC_USER LPSAFEARRAY_UserFree     (ULONG *, LPSAFEARRAY *);
298 
299 /* End additional prototypes */
300 
301 #ifdef __cplusplus
302 }
303 #endif
304 
305 #endif /* __filter_h__ */
306