|  | /** | 
|  | * This file is part of the mingw-w64 runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER within this package. | 
|  | */ | 
|  |  | 
|  | import "unknwn.idl"; | 
|  | import "objidl.idl"; | 
|  | import "propidl.idl"; | 
|  |  | 
|  | interface IFilter; | 
|  |  | 
|  | cpp_quote("#include <winapifamily.h>") | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
|  | cpp_quote("#ifndef _TAGFULLPROPSPEC_DEFINED_") | 
|  | cpp_quote("#define _TAGFULLPROPSPEC_DEFINED_") | 
|  | typedef struct tagFULLPROPSPEC { | 
|  | GUID guidPropSet; | 
|  | PROPSPEC psProperty; | 
|  | } FULLPROPSPEC; | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("#ifndef _tagIFILTER_INIT_DEFINED") | 
|  | cpp_quote("#define _tagIFILTER_INIT_DEFINED") | 
|  | typedef enum tagIFILTER_INIT { | 
|  | IFILTER_INIT_CANON_PARAGRAPHS = 0x1, | 
|  | IFILTER_INIT_HARD_LINE_BREAKS = 0x2, | 
|  | IFILTER_INIT_CANON_HYPHENS = 0x4, | 
|  | IFILTER_INIT_CANON_SPACES = 0x8, | 
|  | IFILTER_INIT_APPLY_INDEX_ATTRIBUTES = 0x10, | 
|  | IFILTER_INIT_APPLY_OTHER_ATTRIBUTES = 0x20, | 
|  | IFILTER_INIT_INDEXING_ONLY = 0x40, | 
|  | IFILTER_INIT_SEARCH_LINKS = 0x80, | 
|  | IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES = 0x100, | 
|  | IFILTER_INIT_FILTER_OWNED_VALUE_OK = 0x200, | 
|  | IFILTER_INIT_FILTER_AGGRESSIVE_BREAK = 0x400, | 
|  | IFILTER_INIT_DISABLE_EMBEDDED = 0x800, | 
|  | IFILTER_INIT_EMIT_FORMATTING = 0x1000 | 
|  | } IFILTER_INIT; | 
|  | cpp_quote("#define _IFILTER_INIT_DEFINED") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("#ifndef _tagIFILTER_FLAGS_DEFINED") | 
|  | cpp_quote("#define _tagIFILTER_FLAGS_DEFINED") | 
|  | typedef enum tagIFILTER_FLAGS { | 
|  | IFILTER_FLAGS_OLE_PROPERTIES = 1 | 
|  | } IFILTER_FLAGS; | 
|  | cpp_quote("#define _IFILTER_FLAGS_DEFINED") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("#ifndef _tagCHUNKSTATE_DEFINED") | 
|  | cpp_quote("#define _tagCHUNKSTATE_DEFINED") | 
|  | typedef enum tagCHUNKSTATE { | 
|  | CHUNK_TEXT = 0x1, | 
|  | CHUNK_VALUE = 0x2, | 
|  | CHUNK_FILTER_OWNED_VALUE = 0x4 | 
|  | } CHUNKSTATE; | 
|  | cpp_quote("#define _CHUNKSTATE_DEFINED") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("#ifndef _tagCHUNK_BREAKTYPE_DEFINED") | 
|  | cpp_quote("#define _tagCHUNK_BREAKTYPE_DEFINED") | 
|  | typedef enum tagCHUNK_BREAKTYPE { | 
|  | CHUNK_NO_BREAK = 0, | 
|  | CHUNK_EOW = 1, | 
|  | CHUNK_EOS = 2, | 
|  | CHUNK_EOP = 3, | 
|  | CHUNK_EOC = 4 | 
|  | } CHUNK_BREAKTYPE; | 
|  | cpp_quote("#define _CHUNK_BREAKTYPE_DEFINED") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("#ifndef _tagFILTERREGION_DEFINED") | 
|  | cpp_quote("#define _tagFILTERREGION_DEFINED") | 
|  | typedef struct tagFILTERREGION { | 
|  | ULONG idChunk; | 
|  | ULONG cwcStart; | 
|  | ULONG cwcExtent; | 
|  | } FILTERREGION; | 
|  | cpp_quote("#define _FILTERREGION_DEFINED") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("#ifndef _tagSTAT_CHUNK_DEFINED") | 
|  | cpp_quote("#define _tagSTAT_CHUNK_DEFINED") | 
|  | typedef struct tagSTAT_CHUNK { | 
|  | ULONG idChunk; | 
|  | CHUNK_BREAKTYPE breakType; | 
|  | CHUNKSTATE flags; | 
|  | LCID locale; | 
|  | FULLPROPSPEC attribute; | 
|  | ULONG idChunkSource; | 
|  | ULONG cwcStartSource; | 
|  | ULONG cwcLenSource; | 
|  | } STAT_CHUNK; | 
|  | cpp_quote("#define _STAT_CHUNK_DEFINED") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | [object, uuid (89bcb740-6119-101a-BCB7-00dd010655af), pointer_default (unique)] | 
|  | interface IFilter : IUnknown { | 
|  | SCODE Init ([in] ULONG grfFlags,[in] ULONG cAttributes,[in, size_is (cAttributes), unique] FULLPROPSPEC const *aAttributes,[out] ULONG *pFlags); | 
|  | SCODE GetChunk ([out] STAT_CHUNK *pStat); | 
|  | SCODE GetText ([in, out] ULONG *pcwcBuffer,[out, size_is (*pcwcBuffer)] WCHAR *awcBuffer); | 
|  | SCODE GetValue ([out] PROPVARIANT **ppPropValue); | 
|  | [local] SCODE BindRegion ([in] FILTERREGION origPos,[in] REFIID riid,[out] void **ppunk); | 
|  | } | 
|  |  | 
|  | cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */") |