summaryrefslogtreecommitdiffstats
path: root/private/types2/query/wbreak.idl
blob: a40936f635dc454609a264aee8647d678f2e9c6c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//+-------------------------------------------------------------------------
//
//  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"

LOCAL_INTERFACE(D53552C8-77E3-101A-B552-08002B33B0E6)
interface IWordBreaker: IUnknown
{
    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")

    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 );
}