sipapi.pp 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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. {$IFNDEF FPC_DOTTEDUNITS}
  17. unit SIPApi;
  18. {$ENDIF FPC_DOTTEDUNITS}
  19. {$CALLING cdecl}
  20. interface
  21. {$IFDEF FPC_DOTTEDUNITS}
  22. uses WinApi.Windows;
  23. {$ELSE FPC_DOTTEDUNITS}
  24. uses Windows;
  25. {$ENDIF FPC_DOTTEDUNITS}
  26. const
  27. SIP_STATUS_UNAVAILABLE = 0;
  28. SIP_STATUS_AVAILABLE = 1;
  29. function SipStatus:DWORD; external KernelDLL name 'SipStatus'; // index 659
  30. function SipSetDefaultRect(lprt:LPRECT):BOOL; external KernelDLL name 'SipSetDefaultRect'; // index 661
  31. function SipRegisterNotification(hWin:HWND):BOOL; external KernelDLL name 'SipRegisterNotification'; // index 65A
  32. function SipShowIM(dwFlag:DWORD):BOOL; external KernelDLL name 'SipShowIM'; // index 65B
  33. const
  34. SIPF_OFF = $00000000;
  35. SIPF_ON = $00000001;
  36. SIPF_DOCKED = $00000002;
  37. SIPF_LOCKED = $00000004;
  38. SPI_SETCOMPLETIONINFO = 223;
  39. SPI_SETSIPINFO = 224;
  40. SPI_GETSIPINFO = 225;
  41. SPI_SETCURRENTIM = 226;
  42. SPI_GETCURRENTIM = 227;
  43. SPI_SIPMOVE = 250;
  44. type
  45. tagSIPINFO = record
  46. cbSize:DWORD;
  47. fdwFlags:DWORD;
  48. rcVisibleDesktop:RECT;
  49. rcSipRect:RECT;
  50. dwImDataSize:DWORD;
  51. pvImData:LPVOID;
  52. end;
  53. SIPINFO = tagSIPINFO;
  54. LPSIPINFO = ^tagSIPINFO;
  55. function SipGetInfo(pSipInfo:LPSIPINFO):BOOL; external KernelDLL name 'SipGetInfo'; // index 65C
  56. function SipSetInfo(pSipInfo:LPSIPINFO):BOOL; external KernelDLL name 'SipSetInfo'; // index 65D
  57. type
  58. tagIMENUMINFO = record
  59. szName:array[0..MAX_PATH-1] of TCHAR;
  60. clsid:CLSID;
  61. end;
  62. IMENUMINFO = tagIMENUMINFO;
  63. PIMENUMINFO = ^tagIMENUMINFO;
  64. type
  65. IMENUMPROC = function(pIMInfo:PIMENUMINFO):longint;
  66. function SipEnumIM(pEnumIMProc:IMENUMPROC):longint; external KernelDLL name 'SipEnumIM'; // index 65E
  67. function SipGetCurrentIM(pClsid:LPCLSID):BOOL; external KernelDLL name 'SipGetCurrentIM'; // index 65F
  68. function SipSetCurrentIM(pClsid:LPCLSID):BOOL; external KernelDLL name 'SipSetCurrentIM'; // index 660
  69. type
  70. tagIMWINDOWPOS = record
  71. x:longint; // Screen coordinate
  72. y:longint; // Screen coordinate
  73. cx:longint; // Screen coordinate
  74. cy:longint; // Screen coordinate
  75. end;
  76. IMWINDOWPOS = tagIMWINDOWPOS;
  77. LPIMWINDOWPOS = ^tagIMWINDOWPOS;
  78. // The following defines are for the WPARAM value in WM_IM_INFO.
  79. const
  80. IM_POSITION = 0;
  81. IM_WIDEIMAGE = 1;
  82. IM_NARROWIMAGE = 2;
  83. IM_HWND_CONTEXT = 3;
  84. IM_CONVERSION_MODE = 4;
  85. IM_SENTENCE_MODE = 5;
  86. IM_KEYBOARD_LAYOUT = 6;
  87. implementation
  88. end.