/** * 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 ") 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) */")