Home | History | Annotate | Download | only in include
      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