//+-------------------------------------------------------------------------
//
//  Microsoft Windows
//  Copyright (C) Microsoft Corporation, 1992 - 1994.
//
//  File:       WSink.idl
//
//  Contents:   IWordSink interface definition
//
//  History:    10-Nov-93   AmyA        Created
//              08-Apr-94   KyleP       Sync with spec
//
//--------------------------------------------------------------------------

#include "idlmulti.h"

LOCAL_INTERFACE(CC907054-C058-101A-B554-08002B33B0E6)
interface IWordSink : IUnknown
{
    cpp_quote("#ifndef _tagWORDREP_BREAK_TYPE_DEFINED")
    typedef enum tagWORDREP_BREAK_TYPE
    {
        WORDREP_BREAK_EOW = 0,
        WORDREP_BREAK_EOS = 1,
        WORDREP_BREAK_EOP = 2,
        WORDREP_BREAK_EOC = 3
    } WORDREP_BREAK_TYPE;
    cpp_quote("#define _tagWORDREP_BREAK_TYPE_DEFINED")
    cpp_quote("#define _WORDREP_BREAK_TYPE_DEFINED")
    cpp_quote("#endif")

    SCODE PutWord( [in] ULONG cwc,
                   [in, size_is(cwc)] WCHAR const * pwcInBuf,
                   [in] ULONG cwcSrcLen,
                   [in] ULONG cwcSrcPos);

    SCODE PutAltWord( [in] ULONG cwc,
                      [in, size_is(cwc)] WCHAR const * pwcInBuf,
                      [in] ULONG cwcSrcLen,
                      [in] ULONG cwcSrcPos );

    SCODE StartAltPhrase( void );

    SCODE EndAltPhrase( void );

    SCODE PutBreak( [in] WORDREP_BREAK_TYPE breakType );
}


