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