windows-nt/Source/XPSP1/NT/inetsrv/published/query/wbreak.idl
2020-09-26 16:20:57 +08:00

55 lines
1.9 KiB
Plaintext

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