www.pudn.com > SitaGetWord.rar > IXDictGrabSink.h
// IXDictGrabSink.h: interface for the IXDictGrabSink class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_IXDICTGRABSINK_H__4D057809_D653_4063_A95B_904EBBC00A30__INCLUDED_)
#define AFX_IXDICTGRABSINK_H__4D057809_D653_4063_A95B_904EBBC00A30__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//¶¨ÒåIXDictGrabSink½Ó¿Ú
interface DECLSPEC_UUID("A06978CE-8077-4470-AABC-2A1001DC5DE4")
IXDictGrabSink : public IDispatch
{
public:
virtual HRESULT STDMETHODCALLTYPE QueryWord(
/* [in] */BSTR WordString,
/* [in] */long lCursorX,
/* [in] */long lCursorY,
/* [in] */BSTR SentenceString,
/* [in] */long FAR *lLoc,
/* [in] */long FAR *lStart)= 0;
};
class MySink : public IXDictGrabSink
{
public:
MySink();
virtual ~MySink();
public:
DWORD m_cRefs;
// IUnknown
STDMETHOD(QueryInterface)(const struct _GUID &iid,void ** ppv);
ULONG __stdcall AddRef(void);
ULONG __stdcall Release(void);
// IDispatch
STDMETHOD(GetTypeInfoCount)(unsigned int *);
STDMETHOD(GetTypeInfo)(unsigned int,unsigned long,struct ITypeInfo ** );
STDMETHOD(GetIDsOfNames)(const IID &,LPOLESTR *,UINT,LCID,DISPID *);
STDMETHOD(Invoke)(long dispID,const struct _GUID &,unsigned long,unsigned short,struct tagDISPPARAMS * pParams,struct tagVARIANT *,struct tagEXCEPINFO *,unsigned int *);
// IXDictGrabSink
virtual STDMETHODIMP QueryWord(BSTR WordString, long lCursorX, long lCursorY, BSTR SentenceString, long *lLoc, long *lStart);
};
#endif // !defined(AFX_IXDICTGRABSINK_H__4D057809_D653_4063_A95B_904EBBC00A30__INCLUDED_)