//+------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992 - 1994. // // File: WBreak.idl // // Contents: IWordBreaker interface definition // // History: 12-Aug-93 AmyA Created // 08-Apr-94 KyleP Sync to spec // //-------------------------------------------------------------------------- #include "idlmulti.h" cpp_quote("#ifndef _tagTEXT_SOURCE_DEFINED") struct tagTEXT_SOURCE; typedef SCODE ( __stdcall * PFNFILLTEXTBUFFER) (struct tagTEXT_SOURCE * pTextSource); typedef struct tagTEXT_SOURCE { PFNFILLTEXTBUFFER pfnFillTextBuffer; WCHAR const * awcBuffer; ULONG iEnd; ULONG iCur; } TEXT_SOURCE; cpp_quote("#define _tagTEXT_SOURCE_DEFINED") cpp_quote("#define _TEXT_SOURCE_DEFINED") cpp_quote("#endif") LOCAL_INTERFACE(D53552C8-77E3-101A-B552-08002B33B0E6) interface IWordBreaker: IUnknown { SCODE Init( [in] BOOL fQuery, [in] ULONG ulMaxTokenSize, [out] BOOL * pfLicense ); SCODE BreakText( [in] TEXT_SOURCE * pTextSource, [in] IWordSink * pWordSink, [in] IPhraseSink * pPhraseSink ); SCODE ComposePhrase( [in, size_is(cwcNoun)] WCHAR const * pwcNoun, [in] ULONG cwcNoun, [in, size_is(cwcModifier)] WCHAR const * pwcModifier, [in] ULONG cwcModifier, [in] ULONG ulAttachmentType, [out, size_is(*pcwcPhrase)] WCHAR * pwcPhrase, [in, out] ULONG * pcwcPhrase ); SCODE GetLicenseToUse( [out, string] WCHAR const ** ppwcsLicense ); }