/packages/winceunits/src/sipapi.pp

https://github.com/slibre/freepascal · Puppet · 107 lines · 82 code · 25 blank · 0 comment · 3 complexity · 5f4ee9cffdf9605a5e08086b7a2d387c MD5 · raw file

  1. {
  2. This file is part of the Free Pascal run time library.
  3. Copyright (c) 2008 Free Pascal development team.
  4. See the file COPYING.FPC, included in this distribution,
  5. for details about the copyright.
  6. This program is distributed in the hope that it will be useful,
  7. but WITHOUT ANY WARRANTY; without even the implied warranty of
  8. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  9. ********************************************************************** }
  10. //
  11. // Module: sipapi.h
  12. //
  13. //
  14. // Microsoft Windows Mobile 5.0 for PocketPC SDK.
  15. //
  16. unit SIPApi;
  17. {$CALLING cdecl}
  18. interface
  19. uses Windows;
  20. const
  21. SIP_STATUS_UNAVAILABLE = 0;
  22. SIP_STATUS_AVAILABLE = 1;
  23. function SipStatus:DWORD; external KernelDLL name 'SipStatus'; // index 659
  24. function SipSetDefaultRect(lprt:LPRECT):BOOL; external KernelDLL name 'SipSetDefaultRect'; // index 661
  25. function SipRegisterNotification(hWin:HWND):BOOL; external KernelDLL name 'SipRegisterNotification'; // index 65A
  26. function SipShowIM(dwFlag:DWORD):BOOL; external KernelDLL name 'SipShowIM'; // index 65B
  27. const
  28. SIPF_OFF = $00000000;
  29. SIPF_ON = $00000001;
  30. SIPF_DOCKED = $00000002;
  31. SIPF_LOCKED = $00000004;
  32. SPI_SETCOMPLETIONINFO = 223;
  33. SPI_SETSIPINFO = 224;
  34. SPI_GETSIPINFO = 225;
  35. SPI_SETCURRENTIM = 226;
  36. SPI_GETCURRENTIM = 227;
  37. SPI_SIPMOVE = 250;
  38. type
  39. tagSIPINFO = record
  40. cbSize:DWORD;
  41. fdwFlags:DWORD;
  42. rcVisibleDesktop:RECT;
  43. rcSipRect:RECT;
  44. dwImDataSize:DWORD;
  45. pvImData:LPVOID;
  46. end;
  47. SIPINFO = tagSIPINFO;
  48. LPSIPINFO = ^tagSIPINFO;
  49. function SipGetInfo(pSipInfo:LPSIPINFO):BOOL; external KernelDLL name 'SipGetInfo'; // index 65C
  50. function SipSetInfo(pSipInfo:LPSIPINFO):BOOL; external KernelDLL name 'SipSetInfo'; // index 65D
  51. type
  52. tagIMENUMINFO = record
  53. szName:array[0..MAX_PATH-1] of TCHAR;
  54. clsid:CLSID;
  55. end;
  56. IMENUMINFO = tagIMENUMINFO;
  57. PIMENUMINFO = ^tagIMENUMINFO;
  58. type
  59. IMENUMPROC = function(pIMInfo:PIMENUMINFO):longint;
  60. function SipEnumIM(pEnumIMProc:IMENUMPROC):longint; external KernelDLL name 'SipEnumIM'; // index 65E
  61. function SipGetCurrentIM(pClsid:LPCLSID):BOOL; external KernelDLL name 'SipGetCurrentIM'; // index 65F
  62. function SipSetCurrentIM(pClsid:LPCLSID):BOOL; external KernelDLL name 'SipSetCurrentIM'; // index 660
  63. type
  64. tagIMWINDOWPOS = record
  65. x:longint; // Screen coordinate
  66. y:longint; // Screen coordinate
  67. cx:longint; // Screen coordinate
  68. cy:longint; // Screen coordinate
  69. end;
  70. IMWINDOWPOS = tagIMWINDOWPOS;
  71. LPIMWINDOWPOS = ^tagIMWINDOWPOS;
  72. // The following defines are for the WPARAM value in WM_IM_INFO.
  73. const
  74. IM_POSITION = 0;
  75. IM_WIDEIMAGE = 1;
  76. IM_NARROWIMAGE = 2;
  77. IM_HWND_CONTEXT = 3;
  78. IM_CONVERSION_MODE = 4;
  79. IM_SENTENCE_MODE = 5;
  80. IM_KEYBOARD_LAYOUT = 6;
  81. implementation
  82. end.