Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.2 KiB

  1. /****************************************************************************
  2. IPOINT.H
  3. Owner: cslim
  4. Copyright (c) 1997-1999 Microsoft Corporation
  5. IImeIPoint1 interface
  6. History:
  7. 20-JUL-1999 cslim Created
  8. *****************************************************************************/
  9. #if !defined(_IPOINT_H__INCLUDED_)
  10. #define _IPOINT_H__INCLUDED_
  11. #include <objbase.h>
  12. #include "ipoint1.h"
  13. #include "imc.h"
  14. class CIImeIPoint : public IImeIPoint1
  15. {
  16. // Ctor and Dtor
  17. public:
  18. CIImeIPoint();
  19. ~CIImeIPoint();
  20. // IImePoint1 Methods
  21. public:
  22. STDMETHODIMP QueryInterface(THIS_ REFIID riid, LPVOID * ppvObj);
  23. STDMETHODIMP_(ULONG) AddRef(VOID);
  24. STDMETHODIMP_(ULONG) Release(VOID);
  25. STDMETHODIMP InsertImeItem (IPCANDIDATE* pImeItem, INT iPos, DWORD *lpdwCharId);
  26. STDMETHODIMP ReplaceImeItem (INT iPos, INT iTargetLen, IPCANDIDATE* pImeItem, DWORD *lpdwCharId);
  27. STDMETHODIMP InsertStringEx (WCHAR* pwSzInsert, INT cchSzInsert, DWORD *lpdwCharId);
  28. STDMETHODIMP DeleteCompString (INT iPos, INT cchSzDel);
  29. STDMETHODIMP ReplaceCompString (INT iPos,
  30. INT iTargetLen,
  31. WCHAR *pwSzInsert,
  32. INT cchSzInsert,
  33. DWORD *lpdwCharId);
  34. STDMETHODIMP ControlIME (DWORD dwIMEFuncID, LPARAM lpara);
  35. STDMETHODIMP GetAllCompositionInfo(WCHAR **ppwSzCompStr,
  36. DWORD **ppdwCharID,
  37. INT *pcchCompStr,
  38. INT *piIPPos,
  39. INT *piStartUndetStrPos,
  40. INT *pcchUndetStr,
  41. INT *piEditStart,
  42. INT *piEditLen);
  43. STDMETHODIMP GetIpCandidate (DWORD dwCharId,
  44. IPCANDIDATE **ppImeItem,
  45. INT *piColumn,
  46. INT *piCount);
  47. STDMETHODIMP SelectIpCandidate (DWORD dwCharId, INT iselno);
  48. STDMETHODIMP UpdateContext (BOOL fGenerateMessage);
  49. // Helper functions
  50. public:
  51. HRESULT Initialize(HIMC hIMC);
  52. VOID GetImeCtx(VOID** ppImeCtx )
  53. {
  54. *ppImeCtx = (VOID*)m_pCIMECtx;
  55. }
  56. // Internal data
  57. protected:
  58. ULONG m_cRef; // Ref count
  59. CIMECtx* m_pCIMECtx; // IME Input Context handle
  60. HIMC m_hIMC;
  61. // char serial number
  62. DWORD m_dwCharNo;
  63. };
  64. typedef CIImeIPoint* LPCImeIPoint;
  65. #endif // _IPOINT_H__INCLUDED_