1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 7 #define __REQUIRED_RPCNDR_H_VERSION__ 475 8 #endif 9 10 #include "rpc.h" 11 #include "rpcndr.h" 12 13 #ifndef __RPCNDR_H_VERSION__ 14 #error This stub requires an updated version of <rpcndr.h> 15 #endif 16 17 #ifndef COM_NO_WINDOWS_H 18 #include "windows.h" 19 #include "ole2.h" 20 #endif 21 22 #ifndef __filter_h__ 23 #define __filter_h__ 24 25 #ifndef __IFilter_FWD_DEFINED__ 26 #define __IFilter_FWD_DEFINED__ 27 typedef struct IFilter IFilter; 28 #endif 29 30 #include "unknwn.h" 31 #include "objidl.h" 32 #include "propidl.h" 33 34 #ifdef __cplusplus 35 extern "C"{ 36 #endif 37 38 #ifndef __MIDL_user_allocate_free_DEFINED__ 39 #define __MIDL_user_allocate_free_DEFINED__ 40 void *__RPC_API MIDL_user_allocate(size_t); 41 void __RPC_API MIDL_user_free(void *); 42 #endif 43 44 #ifndef _TAGFULLPROPSPEC_DEFINED_ 45 #define _TAGFULLPROPSPEC_DEFINED_ 46 typedef struct tagFULLPROPSPEC { 47 GUID guidPropSet; 48 PROPSPEC psProperty; 49 } FULLPROPSPEC; 50 #endif 51 52 extern RPC_IF_HANDLE __MIDL_itf_filter_0000_v0_0_c_ifspec; 53 extern RPC_IF_HANDLE __MIDL_itf_filter_0000_v0_0_s_ifspec; 54 55 #ifndef __IFilter_INTERFACE_DEFINED__ 56 #define __IFilter_INTERFACE_DEFINED__ 57 58 #ifndef _tagIFILTER_INIT_DEFINED 59 typedef enum tagIFILTER_INIT { 60 IFILTER_INIT_CANON_PARAGRAPHS = 1,IFILTER_INIT_HARD_LINE_BREAKS = 2,IFILTER_INIT_CANON_HYPHENS = 4,IFILTER_INIT_CANON_SPACES = 8, 61 IFILTER_INIT_APPLY_INDEX_ATTRIBUTES = 16,IFILTER_INIT_APPLY_OTHER_ATTRIBUTES = 32,IFILTER_INIT_INDEXING_ONLY = 64,IFILTER_INIT_SEARCH_LINKS = 128 62 } IFILTER_INIT; 63 64 #define _tagIFILTER_INIT_DEFINED 65 #define _IFILTER_INIT_DEFINED 66 #endif 67 #ifndef _tagIFILTER_FLAGS_DEFINED 68 typedef enum tagIFILTER_FLAGS { 69 IFILTER_FLAGS_OLE_PROPERTIES = 1 70 } IFILTER_FLAGS; 71 72 #define _tagIFILTER_FLAGS_DEFINED 73 #define _IFILTER_FLAGS_DEFINED 74 #endif 75 #ifndef _tagCHUNKSTATE_DEFINED 76 typedef enum tagCHUNKSTATE { 77 CHUNK_TEXT = 0x1,CHUNK_VALUE = 0x2 78 } CHUNKSTATE; 79 80 #define _tagCHUNKSTATE_DEFINED 81 #define _CHUNKSTATE_DEFINED 82 #endif 83 #ifndef _tagCHUNK_BREAKTYPE_DEFINED 84 typedef enum tagCHUNK_BREAKTYPE { 85 CHUNK_NO_BREAK = 0,CHUNK_EOW = 1,CHUNK_EOS = 2,CHUNK_EOP = 3,CHUNK_EOC = 4 86 } CHUNK_BREAKTYPE; 87 88 #define _tagCHUNK_BREAKTYPE_DEFINED 89 #define _CHUNK_BREAKTYPE_DEFINED 90 #endif 91 #ifndef _tagFILTERREGION_DEFINED 92 typedef struct tagFILTERREGION { 93 ULONG idChunk; 94 ULONG cwcStart; 95 ULONG cwcExtent; 96 } FILTERREGION; 97 98 #define _tagFILTERREGION_DEFINED 99 #define _FILTERREGION_DEFINED 100 #endif 101 102 #ifndef _tagSTAT_CHUNK_DEFINED 103 #define _tagSTAT_CHUNK_DEFINED 104 typedef struct tagSTAT_CHUNK { 105 ULONG idChunk; 106 CHUNK_BREAKTYPE breakType; 107 CHUNKSTATE flags; 108 LCID locale; 109 FULLPROPSPEC attribute; 110 ULONG idChunkSource; 111 ULONG cwcStartSource; 112 ULONG cwcLenSource; 113 } STAT_CHUNK; 114 #define _STAT_CHUNK_DEFINED 115 #endif 116 117 EXTERN_C const IID IID_IFilter; 118 #if defined(__cplusplus) && !defined(CINTERFACE) 119 struct IFilter : public IUnknown { 120 public: 121 virtual SCODE WINAPI Init(ULONG grfFlags,ULONG cAttributes,const FULLPROPSPEC *aAttributes,ULONG *pFlags) = 0; 122 virtual SCODE WINAPI GetChunk(STAT_CHUNK *pStat) = 0; 123 virtual SCODE WINAPI GetText(ULONG *pcwcBuffer,WCHAR *awcBuffer) = 0; 124 virtual SCODE WINAPI GetValue(PROPVARIANT **ppPropValue) = 0; 125 virtual SCODE WINAPI BindRegion(FILTERREGION origPos,REFIID riid,void **ppunk) = 0; 126 }; 127 #else 128 typedef struct IFilterVtbl { 129 BEGIN_INTERFACE 130 HRESULT (WINAPI *QueryInterface)(IFilter *This,REFIID riid,void **ppvObject); 131 ULONG (WINAPI *AddRef)(IFilter *This); 132 ULONG (WINAPI *Release)(IFilter *This); 133 SCODE (WINAPI *Init)(IFilter *This,ULONG grfFlags,ULONG cAttributes,const FULLPROPSPEC *aAttributes,ULONG *pFlags); 134 SCODE (WINAPI *GetChunk)(IFilter *This,STAT_CHUNK *pStat); 135 SCODE (WINAPI *GetText)(IFilter *This,ULONG *pcwcBuffer,WCHAR *awcBuffer); 136 SCODE (WINAPI *GetValue)(IFilter *This,PROPVARIANT **ppPropValue); 137 SCODE (WINAPI *BindRegion)(IFilter *This,FILTERREGION origPos,REFIID riid,void **ppunk); 138 END_INTERFACE 139 } IFilterVtbl; 140 struct IFilter { 141 CONST_VTBL struct IFilterVtbl *lpVtbl; 142 }; 143 #ifdef COBJMACROS 144 #define IFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 145 #define IFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 146 #define IFilter_Release(This) (This)->lpVtbl->Release(This) 147 #define IFilter_Init(This,grfFlags,cAttributes,aAttributes,pFlags) (This)->lpVtbl->Init(This,grfFlags,cAttributes,aAttributes,pFlags) 148 #define IFilter_GetChunk(This,pStat) (This)->lpVtbl->GetChunk(This,pStat) 149 #define IFilter_GetText(This,pcwcBuffer,awcBuffer) (This)->lpVtbl->GetText(This,pcwcBuffer,awcBuffer) 150 #define IFilter_GetValue(This,ppPropValue) (This)->lpVtbl->GetValue(This,ppPropValue) 151 #define IFilter_BindRegion(This,origPos,riid,ppunk) (This)->lpVtbl->BindRegion(This,origPos,riid,ppunk) 152 #endif 153 #endif 154 SCODE WINAPI IFilter_Init_Proxy(IFilter *This,ULONG grfFlags,ULONG cAttributes,const FULLPROPSPEC *aAttributes,ULONG *pFlags); 155 void __RPC_STUB IFilter_Init_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 156 SCODE WINAPI IFilter_GetChunk_Proxy(IFilter *This,STAT_CHUNK *pStat); 157 void __RPC_STUB IFilter_GetChunk_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 158 SCODE WINAPI IFilter_GetText_Proxy(IFilter *This,ULONG *pcwcBuffer,WCHAR *awcBuffer); 159 void __RPC_STUB IFilter_GetText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 160 SCODE WINAPI IFilter_GetValue_Proxy(IFilter *This,PROPVARIANT **ppPropValue); 161 void __RPC_STUB IFilter_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 162 SCODE WINAPI IFilter_BindRegion_Proxy(IFilter *This,FILTERREGION origPos,REFIID riid,void **ppunk); 163 void __RPC_STUB IFilter_BindRegion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 164 #endif 165 166 #ifdef __cplusplus 167 } 168 #endif 169 #endif 170