From dc76ff82fa9c693420db58c5bcfd5dcfe00a7b4c Mon Sep 17 00:00:00 2001 From: yury Date: Wed, 7 May 2008 11:26:28 +0000 Subject: * renamed files. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@10898 3ad0048d-3df7-0310-abae-a5850022a9f2 --- packages/winceunits/src/aygshell.inc | 489 --------- packages/winceunits/src/aygshell.pp | 489 +++++++++ packages/winceunits/src/ceshell.inc | 236 ----- packages/winceunits/src/commctrl.inc | 707 ------------- packages/winceunits/src/commctrl.pp | 707 +++++++++++++ packages/winceunits/src/commdlg.inc | 128 --- packages/winceunits/src/commdlg.pp | 128 +++ packages/winceunits/src/iphlpapi.inc | 173 ---- packages/winceunits/src/iphlpapi.pp | 173 ++++ packages/winceunits/src/notify.inc | 198 ---- packages/winceunits/src/notify.pp | 198 ++++ packages/winceunits/src/oleaut32.inc | 276 ------ packages/winceunits/src/oleaut32.pp | 276 ++++++ packages/winceunits/src/power.inc | 151 --- packages/winceunits/src/power.pp | 151 +++ packages/winceunits/src/shellapi.pp | 236 +++++ packages/winceunits/src/simmgr.inc | 540 ---------- packages/winceunits/src/simmgr.pp | 540 ++++++++++ packages/winceunits/src/tapi.inc | 1807 ---------------------------------- packages/winceunits/src/tapi.pp | 1807 ++++++++++++++++++++++++++++++++++ 20 files changed, 4705 insertions(+), 4705 deletions(-) delete mode 100644 packages/winceunits/src/aygshell.inc create mode 100644 packages/winceunits/src/aygshell.pp delete mode 100644 packages/winceunits/src/ceshell.inc delete mode 100644 packages/winceunits/src/commctrl.inc create mode 100644 packages/winceunits/src/commctrl.pp delete mode 100644 packages/winceunits/src/commdlg.inc create mode 100644 packages/winceunits/src/commdlg.pp delete mode 100644 packages/winceunits/src/iphlpapi.inc create mode 100644 packages/winceunits/src/iphlpapi.pp delete mode 100644 packages/winceunits/src/notify.inc create mode 100644 packages/winceunits/src/notify.pp delete mode 100644 packages/winceunits/src/oleaut32.inc create mode 100644 packages/winceunits/src/oleaut32.pp delete mode 100644 packages/winceunits/src/power.inc create mode 100644 packages/winceunits/src/power.pp create mode 100644 packages/winceunits/src/shellapi.pp delete mode 100644 packages/winceunits/src/simmgr.inc create mode 100644 packages/winceunits/src/simmgr.pp delete mode 100644 packages/winceunits/src/tapi.inc create mode 100644 packages/winceunits/src/tapi.pp (limited to 'packages/winceunits/src') diff --git a/packages/winceunits/src/aygshell.inc b/packages/winceunits/src/aygshell.inc deleted file mode 100644 index eee9e18f06..0000000000 --- a/packages/winceunits/src/aygshell.inc +++ /dev/null @@ -1,489 +0,0 @@ -{ - This file is part of the Free Pascal run time library. - Copyright (c) 2006 Free Pascal development team. - - See the file COPYING.FPC, included in this distribution, - for details about the copyright. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - **********************************************************************} - -{ Declarations for aygshell WinCE API - -} - -{exported functions list = to do, - * please remove functions done * - - Exports - - ordinal name - - 146 ?ClearFontManager@@YAXXZ (void __cdecl ClearFontManager(void)) - 166 ?CreateBackgroundSpec@@YAJPAPAVIBackgroundSpec@@@Z (long __cdecl CreateBackgroundSpec(class IBackgroundSpec * *)) - 148 ?GetAppMetric@@YAHW4_enAppMetricID@@@Z (int __cdecl GetAppMetric(enum _enAppMetricID)) - 145 ?GetStandardFont@@YAJW4eFontID@@PAPAUHFONT__@@@Z (long __cdecl GetStandardFont(enum eFontID,struct HFONT__ * *)) - 348 ?IsScreenRotationSupported@@YAHXZ (int __cdecl IsScreenRotationSupported(void)) - 63 ?MinPowerOff@@YAHXZ (int __cdecl MinPowerOff(void)) - 147 ?OnSettingChange@@YAHIJ@Z (int __cdecl OnSettingChange(unsigned int,long)) - 189 ?SHDrawGradientBubbleTitle@@YAXPAUtagGRADIENTTITLEINFO@@@Z (void __cdecl SHDrawGradientBubbleTitle(struct tagGRADIENTTITLEINFO *)) - 2006 ?SHIdleTimerReset@@YAXXZ (void __cdecl SHIdleTimerReset(void)) - 228 ?SHLoadMenuExtensions@@YAHPAUIUnknown@@PBG1PAPAX@Z (int __cdecl SHLoadMenuExtensions(struct IUnknown *,unsigned short const *,unsigned short const *,void * *)) - 66 ?SHMenuBar_GetMenu@@YAPAUHMENU__@@PAUHWND__@@H@Z (struct HMENU__ * __cdecl SHMenuBar_GetMenu(struct HWND__ *,int)) - 140 ADChgTaskList - 139 ADChgTrustedSrcList - 142 ADRegisterCallback - 141 ADTaskInfo - 143 AssociateNoteWithCall - 52 CancelSIPUp - 46 ComboBoxEditSubProc - 29 ComboEditAutoComplete - 45 ComboSubProc - 190 CreateImageCache - 2021 DMProcessConfigXML - 330 DPI_ExtractIconEx - 311 DPI_LoadImageFile - 310 DPI_LoadLibraryRes - 237 DisplayNotRunnableAppDialog - 226 DoEditContextMenu - 191 DrawAlignedIcon - 44 EditSubProc - 13 FreeRegisteredAppInfo - 137 GetProtocol - 11 GetRegisteredAppInfo - 286 HIDPI_ImageList_LoadImage - 287 HIDPI_ImageList_ReplaceIcon - 92 IsFullScreenWindow - 347 IsModulePreWinCE421 - 62 IsSANMessage - 70 LFHeightForPoint - 302 LoadHTML - 241 LoadStringEtcOver - 180 NotifyAppsOnEvent - 24 PathAddBackslash - 26 PathCombine - 23 PathFindExtension - 27 PathFindFileName - 160 PathFindNextComponent - 116 PathIsPrefix - 28 PathIsRelative - 25 PathRemoveBackslash - 42 PathRemoveBlanks - 107 PhoneGetCallProperties - 106 PhoneGetCallPropertyBag - 159 PhoneShowCallLog - 158 SHAnimateListviewOpen - 117 SHAnimateRects - 22 SHAppNotifyDone - 130 SHBoldFontAllowed - 289 SHBorderPolyline - 288 SHBorderRectangle - 104 SHBox - 103 SHBoxEx - 114 SHChangeNotifyDeregister - 115 SHChangeNotifyFree - 113 SHChangeNotifyRegister - 48 SHCheckForContextMenu - 86 SHClearStartedBit - 55 SHColorDisplay - 37 SHCommandBar_EnableCommand - 38 SHCommandBar_GetClientRect - 36 SHCommandBar_GetCommandBarByID - 223 SHCopyBitmap - 306 SHCopyIcon - 164 SHCreateCOleWindow - 41 SHCreateContextMenu - 43 SHCreateMainWindow - 74 SHCreateMenuBarInternal - 108 SHCreateNewItem - 53 SHCreateSystemFont - 35 SHCreateWorkerWindow - 329 SHDeleteTodayWallpaper - 109 SHDocManagerCreate - 112 SHDocManagerDestroy - 111 SHDocManagerQuery - 110 SHDocManagerRegister - 233 SHDrawBranding - 234 SHDrawClippedText - 331 SHDrawTextOverImage - 58 SHDrawUnderline - 136 SHDrawUnderlineColor - 49 SHEnableEditMenu - 192 SHEnableRadio - 81 SHEndProfileObj - 2013 SHEnumFiles - 2020 SHEnumFolders - 98 SHEnumPropSheetHandlers - 203 SHEscapeAccelerators - 201 SHEscapeBubbleHtml - 168 SHFadeImage - 54 SHFillRectClr - 132 SHFindForegroundMenuBar - 283 SHFindMenuBarInternal - 209 SHFindPreviousInstance - 212 SHFindPreviousInstanceEx - 71 SHFontMgrCreate - 73 SHFontMgrDestroy - 72 SHFontMgrManageFonts - 33 SHForceBaseState - 99 SHForceBaseStateEx - 102 SHFreeContextMenuExtensions - 120 SHFreeScanners - 213 SHGetActiveDialog - 292 SHGetBitmapDimensions - 285 SHGetBitmapLogPixels - 225 SHGetCarrierBranding - 224 SHGetCarrierBrandingFlag - 96 SHGetDeviceFeatureLevel - 299 SHGetDisplayRotation - 128 SHGetEmergencyCallList - 218 SHGetFontHeight - 232 SHGetInputContext - 133 SHGetKOBits - 305 SHGetLandscapeRotationSettings - 345 SHGetLegacySupportWindow - 242 SHGetLocaleInfo - 167 SHGetMessageBoxIcon - 281 SHGetMetric - 172 SHGetNavBarItemRect - 163 SHGetPowerOnTime - 153 SHGetPresetMessage - 282 SHGetScreenOrientation - 204 SHGetSimToolkitMenu - 2014 SHGetSoundFileList - 177 SHGetStyleBkColor - 178 SHGetStyleColor - 179 SHGetStyleFont - 217 SHGetSystemDefaultLCID - 144 SHGetTimeFormat - 312 SHGetUIMetrics - 219 SHGetUiInfo - 221 SHGradientDeInit - 222 SHGradientDraw - 220 SHGradientInit - 31 SHHandleActivate - 30 SHHandleSipChange - 76 SHHdrGrpSepLineDraw - 8 SHImListPopup - 149 SHInitPresetMessages - 181 SHInsertPresetMessage - 129 SHInvalidateScreen - 101 SHInvokeContextMenuCommand - 123 SHIsLocked - 295 SHIsPreOzoneUpdate - 94 SHIsPreRapierApp - 100 SHLoadContextMenuExtensions - 230 SHLoadFileContextMenuExtensions - 313 SHLoadFontFromResource - 91 SHLoadMenuPopup - 216 SHLoadSKFromReg - 121 SHLock - 138 SHMakeCall - 235 SHMakeValidFilename - 32 SHMessageBox - 80 SHNewProfileObj - 155 SHNotificationAdd - 173 SHNotificationGetData - 157 SHNotificationRemove - 156 SHNotificationUpdate - 208 SHNotifyAppsOnCallConnect - 210 SHNotifyAppsOnCarkit - 165 SHNotifyAppsOnDock - 195 SHNotifyAppsOnHeadset - 214 SHNotifyAppsOnIncomingCall - 211 SHNotifyAppsOnSpeakerPhone - 135 SHOnFullScreenAppActivate - 238 SHOnMissedCallCountChange - 2008 SHOnPluginDataChange - 227 SHOnVoiceMailCountChange - 162 SHPaintBubbleFrame - 294 SHPolyline - 152 SHPopulatePresetMessageMenu - 175 SHPreProcessLogFont - 229 SHQueryMenuExtensions - 297 SHRCMLDialogProc - 293 SHRectangle - 2022 SHRefreshStartMenu - 215 SHRegGetHLMDWValue - 176 SHRegSetValueEx - 346 SHReleaseLegacySupportWindow - 150 SHReleasePresetMessages - 202 SHReplaceString - 245 SHResizeDialogProc - 50 SHRunCpl - 82 SHRunFontManager - 151 SHRunPresetMessagesEdit - 239 SHRunSafeApplet - 174 SHSameWindowProcesses - 95 SHSavePWWarning - 118 SHScanBuffer - 119 SHScanFile - 97 SHSendBackToFocusWindow - 169 SHSetAsWatermark - 184 SHSetBack - 161 SHSetBubbleRegion - 298 SHSetDisplayRotation - 131 SHSetForegroundLastActivePopup - 231 SHSetInputContext - 134 SHSetKOBits - 154 SHSetPresetMessage - 170 SHSetSimToolkitMenu - 1003 SHSetSoftKey - 300 SHSetStretchMode - 59 SHSetWindowBits - 67 SHShowContextMenu - 1004 SHShowSoftKeys - 79 SHSignalDone - 314 SHSipMightBlockUI - 308 SHSkipDialogInitialFocus - 207 SHSoundManGetDisplayName - 205 SHSoundManGetDisplayNameList - 206 SHSoundManGetFileName - 93 SHStartAndBlock - 85 SHStartIfNeeded - 87 SHStartProfile - 284 SHStretchBitmap - 290 SHStretchBltBitmap - 291 SHStretchBltBitmapEx - 307 SHStretchIcon - 105 SHTextBox - 171 SHToolkitQueryShell - 57 SHTrackPopupMenu - 1000 SHTurnScreenOn - 240 SHUnEscapeAccelerators - 122 SHUnlock - 2003 SHVoiceTagDelete - 2002 SHVoiceTagPlayback - 2001 SHVoiceTagRecognize - 2000 SHVoiceTagTrain - 124 SHWriteLockState - 301 SetDialogAutoScrollBar - 12 SetRegisteredAppInfo - 296 SetWindowPosOnRotate - 15 Shell_Alloc - 17 Shell_AllocString - 18 Shell_CatStrAlloc - 16 Shell_Free - 14 Shell_HeapCreate - 19 Shell_LoadStringAlloc - 20 Shell_RegAllocString - 51 StrStrI - 47 SubClassThisWindow - 199 TZFindClose - 197 TZFindNext - 196 TZFindOpen - 198 TZGetData - 1005 UIHGetTextToStruct - 1007 UIHLimitTextControls - 1008 UIHSetHWNDToStruct - 1006 UIHSetTextFromStruct - 236 VerifyTrust -} - -{$ifdef read_interface} - - -//***************************************************************************** -// consts -//***************************************************************************** -const - UserDLLAyg = 'aygshell'; - - CEM_UPCASEALLWORDS = (WM_USER + 1); - CEM_ENABLEUPCASE = (WM_USER + 2); - - {Gesture notifications} - GN_CONTEXTMENU = 1000; - - IDC_COMMANDBANDS = 100; - {Shell Menubar support} - // These defines MUST be < 100. This is so apps can use these defines - // to get strings from the shell. - IDS_SHNEW = 1; - IDS_SHEDIT = 2; - IDS_SHTOOLS = 3; - IDS_SHVIEW = 4; - IDS_SHFILE = 5; - IDS_SHGO = 6; - IDS_SHFAVORITES = 7; - IDS_SHOPEN = 8; - - {Shared New menu support} - IDM_SHAREDNEW = 10; - IDM_SHAREDNEWDEFAULT = 11; - - NOMENU = $FFFF; - SHA_INPUTDIALOG = $0001; - SHACTI_FSIPUP = $0001; - SHACTI_FSIPONDEACTIVATE = $0002; - SHACTI_FSIPRESERVED = $FFFF xor SHACTI_FSIPUP xor SHACTI_FSIPUP; - - {Valid dwFlags} - SHCMBF_EMPTYBAR = $0001; - SHCMBF_HIDDEN = $0002; // create it hidden - SHCMBF_HIDESIPBUTTON = $0004; - SHCMBF_COLORBK = $0008; - SHCMBF_HMENU = $0010; // specify an hmenu for resource rather than toolbar info - - SHCMBM_SETSUBMENU = (WM_USER + 400); // wparam == id of button, lParam == hmenu, return is old hmenu - SHCMBM_GETSUBMENU = (WM_USER + 401); // lParam == ID - SHCMBM_GETMENU = (WM_USER + 402); // get the owning hmenu (as specified in the load resource) - SHCMBM_OVERRIDEKEY = (WM_USER + 403); - SHCMBM_SETBKCOLOR = (WM_USER + 406); // lParam == COLORREF - - - {Valid mask values} - SHIDIM_FLAGS = $0001; - {Valid flags} - SHIDIF_DONEBUTTON = $0001; - SHIDIF_SIZEDLG = $0002; - SHIDIF_SIZEDLGFULLSCREEN = $0004; - SHIDIF_SIPDOWN = $0008; - SHIDIF_FULLSCREENNOMENUBAR = $0010; - SHIDIF_EMPTYMENU = $0020; - SHIDIF_WANTSCROLLBAR = $0040; - - SHMBOF_NODEFAULT = $00000001; // do not do default handling of this key - SHMBOF_NOTIFY = $00000002; // send us the WM_* messages for this key - - {Gesture flags} - SHRG_RETURNCMD = $00000001; - SHRG_NOTIFYPARENT = $00000002; - SHRG_LONGDELAY = $00000008; - SHRG_NOANIMATION = $00000010; - - {Sip info} - SIP_STATUS_UNAVAILABLE = 0; - SIP_STATUS_AVAILABLE = 1; - - SIPF_OFF = $00000000; - SIPF_ON = $00000001; - SIPF_DOCKED = $00000002; - SIPF_LOCKED = $00000004; - - {Supported system parameters} - SPI_SETCOMPLETIONINFO = 223; - SPI_SETSIPINFO = 224; - SPI_GETSIPINFO = 225; - SPI_SETCURRENTIM = 226; - SPI_GETCURRENTIM = 227; - SPI_APPBUTTONCHANGE = 228; - SPI_RESERVED = 229; - SPI_SYNCSETTINGSCHANGE = 230; - - WC_SIPPREF = 'SIPPREF'; - - {SHFullScreen - valide states} - SHFS_SHOWTASKBAR = $0001; - SHFS_HIDETASKBAR = $0002; - SHFS_SHOWSIPBUTTON = $0004; - SHFS_HIDESIPBUTTON = $0008; - SHFS_SHOWSTARTICON = $0010; - SHFS_HIDESTARTICON = $0020; - - { DoneButton - Valid state} - SHDB_SHOW = $0001; - SHDB_HIDE = $0002; - SHDB_SHOWCANCEL = $0004; // added by Windows Mobile 5.0 - WS_NONAVDONEBUTTON = WS_MINIMIZEBOX; - -//***************************************************************************** -// types -//***************************************************************************** - -type - //Struct sent through WM_NOTIFY when SHRG_NOTIFYPARENT is used - NMRGINFO = record - hdr : NMHDR; - ptAction : POINT; - dwItemSpec : DWORD; - end; - PNMRGINFO=^NMRGINFO; - - SHACTIVATEINFO = record - cbSize : DWORD; - hwndLastFocus : HWND ; - bits : Longint ; - end; - PSHACTIVATEINFO=^SHACTIVATEINFO; - - SHINITDLGINFO = record - dwMask: DWORD; - hDlg: HWND; - dwFlags : DWORD ; - end; - PSHINITDLGINFO=^SHINITDLGINFO; - - SHMENUBARINFO = record - cbSize : DWORD; // IN - Indicates which members of struct are valid - hwndParent : HWND ; // IN - dwFlags : DWORD ; // IN - Some features we want - nToolBarId : UINT ; // IN - Which toolbar are we using - hInstRes : HINST; // IN - Instance that owns the resources - nBmpId : Integer; - cBmpImages : Integer; // IN - Count of bitmap images - hwndMB : HWND ; // OUT - clrBk : COLORREF ; // IN - background color of the menu bar (excluding sip) - end; - PSHMENUBARINFO=^SHMENUBARINFO; - - {SHRecognizeGesture} - SHRGI = record - cbSize : DWORD; - hwndClient : HWND ; - ptDown : POINT; - dwFlags : DWORD; - end; - SHRGINFO=SHRGI; - PSHRGINFO=^SHRGI; - - {Sip info} - SIPINFO = record - cbSize : DWORD; - fdwFlags : DWORD; - rcVisibleDesktop : RECT; - rcSipRect : RECT; - dwImDataSize : DWORD; - pvImData : pointer; - end; - TSIPINFO=SIPINFO; - PSIPINFO=^SIPINFO; - - SIPSTATE= (SIP_UP= 0,SIP_DOWN,SIP_FORCEDOWN,SIP_UNCHANGED,SIP_INPUTDIALOG); - -//***************************************************************************** -// functions -//***************************************************************************** - -function ExitWindowsEx(uFlags:UINT; dwReserved:DWORD):WINBOOL; external UserDLLAyg name 'ExitWindowsEx'; -function SHCloseApps( dwMemSought : DWORD ): WINBOOL; external UserDLLAyg name 'SHCloseApps'; -function SHCreateMenuBar(pmbi : PSHMENUBARINFO ): WINBOOL; external UserDLLAyg name 'SHCreateMenuBar'; -function SHDoneButton(hwndRequester: HWND ; dwState : DWORD ): WINBOOL; external UserDLLAyg name 'SHDoneButton'; -function SHFindMenuBar(hwnd:HWND) : HWND; external UserDLLAyg name 'SHFindMenuBar'; -function SHFullScreen(hwmdRequester: hWnd; dwState: DWord): WINBOOL; external UserDLLAyg name 'SHFullScreen'; {Pocket PC special controls} -function SHGetAutoRunPath( pAutoRunPath : LPTSTR ): WINBOOL; external UserDLLAyg name 'SHGetAutoRunPath'; -function SHHandleWMActivate(hwnd:HWND; wParam:WPARAM; lParam:LPARAM; psai: PSHACTIVATEINFO; dwFlags:DWORD ): WINBOOL; external UserDLLAyg index 84; -function SHHandleWMSettingChange(hwnd:HWND; wParam:WPARAM; lParam:LPARAM; psai: PSHACTIVATEINFO): WINBOOL; external UserDLLAyg index 83; -function SHInitDialog(pshidi: PSHINITDLGINFO): WINBOOL; external UserDLLAyg name 'SHInitDialog'; -function SHInitExtraControls: WINBOOL; external UserDLLAyg name 'SHInitExtraControls'; -procedure SHInputDialog(hwnd : HWND; uMsg : UINT; wParam: WPARAM ); external UserDLLAyg name 'SHInputDialog'; -function SHGetAppKeyAssoc( ptszApp: LPCTSTR ): Byte; external UserDLLAyg name 'SHGetAppKeyAssoc'; -function SHSetAppKeyWndAssoc( bVk: BYTE ; hwnd : HWND ): WINBOOL; external UserDLLAyg name 'SHSetAppKeyWndAssoc'; -function SHSetNavBarText(hwndRequester : HWND; pszText : LPCTSTR): WINBOOL; external UserDLLAyg name 'SHSetNavBarText'; -function SHLoadImageResource(hinst: HINST; uIdGif: UINT ): HBITMAP; external UserDLLAyg index 64; -function SHLoadImageFile(pszFileName: LPCTSTR ) : HBITMAP; external UserDLLAyg index 75; -procedure SHNavigateBack; external UserDLLAyg index 183; -function SHSipInfo(uiAction: UINT; uiParam: UINT; pvParam: PVOID; fWinIni: UINT ): WINBOOL; external UserDLLAyg name 'SHSipInfo'; -function SHSipPreference(hwnd: HWND ; st : SIPSTATE ) : WINBOOL; external UserDLLAyg name 'SHSipPreference'; -function SHRecognizeGesture(var shrg : SHRGINFO): DWORD; external UserDLLAyg name 'SHRecognizeGesture'; - -{$endif read_interface} - -{$ifdef read_implementation} - -{$endif read_implementation} - - diff --git a/packages/winceunits/src/aygshell.pp b/packages/winceunits/src/aygshell.pp new file mode 100644 index 0000000000..eee9e18f06 --- /dev/null +++ b/packages/winceunits/src/aygshell.pp @@ -0,0 +1,489 @@ +{ + This file is part of the Free Pascal run time library. + Copyright (c) 2006 Free Pascal development team. + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + +{ Declarations for aygshell WinCE API + +} + +{exported functions list = to do, + * please remove functions done * + + Exports + + ordinal name + + 146 ?ClearFontManager@@YAXXZ (void __cdecl ClearFontManager(void)) + 166 ?CreateBackgroundSpec@@YAJPAPAVIBackgroundSpec@@@Z (long __cdecl CreateBackgroundSpec(class IBackgroundSpec * *)) + 148 ?GetAppMetric@@YAHW4_enAppMetricID@@@Z (int __cdecl GetAppMetric(enum _enAppMetricID)) + 145 ?GetStandardFont@@YAJW4eFontID@@PAPAUHFONT__@@@Z (long __cdecl GetStandardFont(enum eFontID,struct HFONT__ * *)) + 348 ?IsScreenRotationSupported@@YAHXZ (int __cdecl IsScreenRotationSupported(void)) + 63 ?MinPowerOff@@YAHXZ (int __cdecl MinPowerOff(void)) + 147 ?OnSettingChange@@YAHIJ@Z (int __cdecl OnSettingChange(unsigned int,long)) + 189 ?SHDrawGradientBubbleTitle@@YAXPAUtagGRADIENTTITLEINFO@@@Z (void __cdecl SHDrawGradientBubbleTitle(struct tagGRADIENTTITLEINFO *)) + 2006 ?SHIdleTimerReset@@YAXXZ (void __cdecl SHIdleTimerReset(void)) + 228 ?SHLoadMenuExtensions@@YAHPAUIUnknown@@PBG1PAPAX@Z (int __cdecl SHLoadMenuExtensions(struct IUnknown *,unsigned short const *,unsigned short const *,void * *)) + 66 ?SHMenuBar_GetMenu@@YAPAUHMENU__@@PAUHWND__@@H@Z (struct HMENU__ * __cdecl SHMenuBar_GetMenu(struct HWND__ *,int)) + 140 ADChgTaskList + 139 ADChgTrustedSrcList + 142 ADRegisterCallback + 141 ADTaskInfo + 143 AssociateNoteWithCall + 52 CancelSIPUp + 46 ComboBoxEditSubProc + 29 ComboEditAutoComplete + 45 ComboSubProc + 190 CreateImageCache + 2021 DMProcessConfigXML + 330 DPI_ExtractIconEx + 311 DPI_LoadImageFile + 310 DPI_LoadLibraryRes + 237 DisplayNotRunnableAppDialog + 226 DoEditContextMenu + 191 DrawAlignedIcon + 44 EditSubProc + 13 FreeRegisteredAppInfo + 137 GetProtocol + 11 GetRegisteredAppInfo + 286 HIDPI_ImageList_LoadImage + 287 HIDPI_ImageList_ReplaceIcon + 92 IsFullScreenWindow + 347 IsModulePreWinCE421 + 62 IsSANMessage + 70 LFHeightForPoint + 302 LoadHTML + 241 LoadStringEtcOver + 180 NotifyAppsOnEvent + 24 PathAddBackslash + 26 PathCombine + 23 PathFindExtension + 27 PathFindFileName + 160 PathFindNextComponent + 116 PathIsPrefix + 28 PathIsRelative + 25 PathRemoveBackslash + 42 PathRemoveBlanks + 107 PhoneGetCallProperties + 106 PhoneGetCallPropertyBag + 159 PhoneShowCallLog + 158 SHAnimateListviewOpen + 117 SHAnimateRects + 22 SHAppNotifyDone + 130 SHBoldFontAllowed + 289 SHBorderPolyline + 288 SHBorderRectangle + 104 SHBox + 103 SHBoxEx + 114 SHChangeNotifyDeregister + 115 SHChangeNotifyFree + 113 SHChangeNotifyRegister + 48 SHCheckForContextMenu + 86 SHClearStartedBit + 55 SHColorDisplay + 37 SHCommandBar_EnableCommand + 38 SHCommandBar_GetClientRect + 36 SHCommandBar_GetCommandBarByID + 223 SHCopyBitmap + 306 SHCopyIcon + 164 SHCreateCOleWindow + 41 SHCreateContextMenu + 43 SHCreateMainWindow + 74 SHCreateMenuBarInternal + 108 SHCreateNewItem + 53 SHCreateSystemFont + 35 SHCreateWorkerWindow + 329 SHDeleteTodayWallpaper + 109 SHDocManagerCreate + 112 SHDocManagerDestroy + 111 SHDocManagerQuery + 110 SHDocManagerRegister + 233 SHDrawBranding + 234 SHDrawClippedText + 331 SHDrawTextOverImage + 58 SHDrawUnderline + 136 SHDrawUnderlineColor + 49 SHEnableEditMenu + 192 SHEnableRadio + 81 SHEndProfileObj + 2013 SHEnumFiles + 2020 SHEnumFolders + 98 SHEnumPropSheetHandlers + 203 SHEscapeAccelerators + 201 SHEscapeBubbleHtml + 168 SHFadeImage + 54 SHFillRectClr + 132 SHFindForegroundMenuBar + 283 SHFindMenuBarInternal + 209 SHFindPreviousInstance + 212 SHFindPreviousInstanceEx + 71 SHFontMgrCreate + 73 SHFontMgrDestroy + 72 SHFontMgrManageFonts + 33 SHForceBaseState + 99 SHForceBaseStateEx + 102 SHFreeContextMenuExtensions + 120 SHFreeScanners + 213 SHGetActiveDialog + 292 SHGetBitmapDimensions + 285 SHGetBitmapLogPixels + 225 SHGetCarrierBranding + 224 SHGetCarrierBrandingFlag + 96 SHGetDeviceFeatureLevel + 299 SHGetDisplayRotation + 128 SHGetEmergencyCallList + 218 SHGetFontHeight + 232 SHGetInputContext + 133 SHGetKOBits + 305 SHGetLandscapeRotationSettings + 345 SHGetLegacySupportWindow + 242 SHGetLocaleInfo + 167 SHGetMessageBoxIcon + 281 SHGetMetric + 172 SHGetNavBarItemRect + 163 SHGetPowerOnTime + 153 SHGetPresetMessage + 282 SHGetScreenOrientation + 204 SHGetSimToolkitMenu + 2014 SHGetSoundFileList + 177 SHGetStyleBkColor + 178 SHGetStyleColor + 179 SHGetStyleFont + 217 SHGetSystemDefaultLCID + 144 SHGetTimeFormat + 312 SHGetUIMetrics + 219 SHGetUiInfo + 221 SHGradientDeInit + 222 SHGradientDraw + 220 SHGradientInit + 31 SHHandleActivate + 30 SHHandleSipChange + 76 SHHdrGrpSepLineDraw + 8 SHImListPopup + 149 SHInitPresetMessages + 181 SHInsertPresetMessage + 129 SHInvalidateScreen + 101 SHInvokeContextMenuCommand + 123 SHIsLocked + 295 SHIsPreOzoneUpdate + 94 SHIsPreRapierApp + 100 SHLoadContextMenuExtensions + 230 SHLoadFileContextMenuExtensions + 313 SHLoadFontFromResource + 91 SHLoadMenuPopup + 216 SHLoadSKFromReg + 121 SHLock + 138 SHMakeCall + 235 SHMakeValidFilename + 32 SHMessageBox + 80 SHNewProfileObj + 155 SHNotificationAdd + 173 SHNotificationGetData + 157 SHNotificationRemove + 156 SHNotificationUpdate + 208 SHNotifyAppsOnCallConnect + 210 SHNotifyAppsOnCarkit + 165 SHNotifyAppsOnDock + 195 SHNotifyAppsOnHeadset + 214 SHNotifyAppsOnIncomingCall + 211 SHNotifyAppsOnSpeakerPhone + 135 SHOnFullScreenAppActivate + 238 SHOnMissedCallCountChange + 2008 SHOnPluginDataChange + 227 SHOnVoiceMailCountChange + 162 SHPaintBubbleFrame + 294 SHPolyline + 152 SHPopulatePresetMessageMenu + 175 SHPreProcessLogFont + 229 SHQueryMenuExtensions + 297 SHRCMLDialogProc + 293 SHRectangle + 2022 SHRefreshStartMenu + 215 SHRegGetHLMDWValue + 176 SHRegSetValueEx + 346 SHReleaseLegacySupportWindow + 150 SHReleasePresetMessages + 202 SHReplaceString + 245 SHResizeDialogProc + 50 SHRunCpl + 82 SHRunFontManager + 151 SHRunPresetMessagesEdit + 239 SHRunSafeApplet + 174 SHSameWindowProcesses + 95 SHSavePWWarning + 118 SHScanBuffer + 119 SHScanFile + 97 SHSendBackToFocusWindow + 169 SHSetAsWatermark + 184 SHSetBack + 161 SHSetBubbleRegion + 298 SHSetDisplayRotation + 131 SHSetForegroundLastActivePopup + 231 SHSetInputContext + 134 SHSetKOBits + 154 SHSetPresetMessage + 170 SHSetSimToolkitMenu + 1003 SHSetSoftKey + 300 SHSetStretchMode + 59 SHSetWindowBits + 67 SHShowContextMenu + 1004 SHShowSoftKeys + 79 SHSignalDone + 314 SHSipMightBlockUI + 308 SHSkipDialogInitialFocus + 207 SHSoundManGetDisplayName + 205 SHSoundManGetDisplayNameList + 206 SHSoundManGetFileName + 93 SHStartAndBlock + 85 SHStartIfNeeded + 87 SHStartProfile + 284 SHStretchBitmap + 290 SHStretchBltBitmap + 291 SHStretchBltBitmapEx + 307 SHStretchIcon + 105 SHTextBox + 171 SHToolkitQueryShell + 57 SHTrackPopupMenu + 1000 SHTurnScreenOn + 240 SHUnEscapeAccelerators + 122 SHUnlock + 2003 SHVoiceTagDelete + 2002 SHVoiceTagPlayback + 2001 SHVoiceTagRecognize + 2000 SHVoiceTagTrain + 124 SHWriteLockState + 301 SetDialogAutoScrollBar + 12 SetRegisteredAppInfo + 296 SetWindowPosOnRotate + 15 Shell_Alloc + 17 Shell_AllocString + 18 Shell_CatStrAlloc + 16 Shell_Free + 14 Shell_HeapCreate + 19 Shell_LoadStringAlloc + 20 Shell_RegAllocString + 51 StrStrI + 47 SubClassThisWindow + 199 TZFindClose + 197 TZFindNext + 196 TZFindOpen + 198 TZGetData + 1005 UIHGetTextToStruct + 1007 UIHLimitTextControls + 1008 UIHSetHWNDToStruct + 1006 UIHSetTextFromStruct + 236 VerifyTrust +} + +{$ifdef read_interface} + + +//***************************************************************************** +// consts +//***************************************************************************** +const + UserDLLAyg = 'aygshell'; + + CEM_UPCASEALLWORDS = (WM_USER + 1); + CEM_ENABLEUPCASE = (WM_USER + 2); + + {Gesture notifications} + GN_CONTEXTMENU = 1000; + + IDC_COMMANDBANDS = 100; + {Shell Menubar support} + // These defines MUST be < 100. This is so apps can use these defines + // to get strings from the shell. + IDS_SHNEW = 1; + IDS_SHEDIT = 2; + IDS_SHTOOLS = 3; + IDS_SHVIEW = 4; + IDS_SHFILE = 5; + IDS_SHGO = 6; + IDS_SHFAVORITES = 7; + IDS_SHOPEN = 8; + + {Shared New menu support} + IDM_SHAREDNEW = 10; + IDM_SHAREDNEWDEFAULT = 11; + + NOMENU = $FFFF; + SHA_INPUTDIALOG = $0001; + SHACTI_FSIPUP = $0001; + SHACTI_FSIPONDEACTIVATE = $0002; + SHACTI_FSIPRESERVED = $FFFF xor SHACTI_FSIPUP xor SHACTI_FSIPUP; + + {Valid dwFlags} + SHCMBF_EMPTYBAR = $0001; + SHCMBF_HIDDEN = $0002; // create it hidden + SHCMBF_HIDESIPBUTTON = $0004; + SHCMBF_COLORBK = $0008; + SHCMBF_HMENU = $0010; // specify an hmenu for resource rather than toolbar info + + SHCMBM_SETSUBMENU = (WM_USER + 400); // wparam == id of button, lParam == hmenu, return is old hmenu + SHCMBM_GETSUBMENU = (WM_USER + 401); // lParam == ID + SHCMBM_GETMENU = (WM_USER + 402); // get the owning hmenu (as specified in the load resource) + SHCMBM_OVERRIDEKEY = (WM_USER + 403); + SHCMBM_SETBKCOLOR = (WM_USER + 406); // lParam == COLORREF + + + {Valid mask values} + SHIDIM_FLAGS = $0001; + {Valid flags} + SHIDIF_DONEBUTTON = $0001; + SHIDIF_SIZEDLG = $0002; + SHIDIF_SIZEDLGFULLSCREEN = $0004; + SHIDIF_SIPDOWN = $0008; + SHIDIF_FULLSCREENNOMENUBAR = $0010; + SHIDIF_EMPTYMENU = $0020; + SHIDIF_WANTSCROLLBAR = $0040; + + SHMBOF_NODEFAULT = $00000001; // do not do default handling of this key + SHMBOF_NOTIFY = $00000002; // send us the WM_* messages for this key + + {Gesture flags} + SHRG_RETURNCMD = $00000001; + SHRG_NOTIFYPARENT = $00000002; + SHRG_LONGDELAY = $00000008; + SHRG_NOANIMATION = $00000010; + + {Sip info} + SIP_STATUS_UNAVAILABLE = 0; + SIP_STATUS_AVAILABLE = 1; + + SIPF_OFF = $00000000; + SIPF_ON = $00000001; + SIPF_DOCKED = $00000002; + SIPF_LOCKED = $00000004; + + {Supported system parameters} + SPI_SETCOMPLETIONINFO = 223; + SPI_SETSIPINFO = 224; + SPI_GETSIPINFO = 225; + SPI_SETCURRENTIM = 226; + SPI_GETCURRENTIM = 227; + SPI_APPBUTTONCHANGE = 228; + SPI_RESERVED = 229; + SPI_SYNCSETTINGSCHANGE = 230; + + WC_SIPPREF = 'SIPPREF'; + + {SHFullScreen - valide states} + SHFS_SHOWTASKBAR = $0001; + SHFS_HIDETASKBAR = $0002; + SHFS_SHOWSIPBUTTON = $0004; + SHFS_HIDESIPBUTTON = $0008; + SHFS_SHOWSTARTICON = $0010; + SHFS_HIDESTARTICON = $0020; + + { DoneButton - Valid state} + SHDB_SHOW = $0001; + SHDB_HIDE = $0002; + SHDB_SHOWCANCEL = $0004; // added by Windows Mobile 5.0 + WS_NONAVDONEBUTTON = WS_MINIMIZEBOX; + +//***************************************************************************** +// types +//***************************************************************************** + +type + //Struct sent through WM_NOTIFY when SHRG_NOTIFYPARENT is used + NMRGINFO = record + hdr : NMHDR; + ptAction : POINT; + dwItemSpec : DWORD; + end; + PNMRGINFO=^NMRGINFO; + + SHACTIVATEINFO = record + cbSize : DWORD; + hwndLastFocus : HWND ; + bits : Longint ; + end; + PSHACTIVATEINFO=^SHACTIVATEINFO; + + SHINITDLGINFO = record + dwMask: DWORD; + hDlg: HWND; + dwFlags : DWORD ; + end; + PSHINITDLGINFO=^SHINITDLGINFO; + + SHMENUBARINFO = record + cbSize : DWORD; // IN - Indicates which members of struct are valid + hwndParent : HWND ; // IN + dwFlags : DWORD ; // IN - Some features we want + nToolBarId : UINT ; // IN - Which toolbar are we using + hInstRes : HINST; // IN - Instance that owns the resources + nBmpId : Integer; + cBmpImages : Integer; // IN - Count of bitmap images + hwndMB : HWND ; // OUT + clrBk : COLORREF ; // IN - background color of the menu bar (excluding sip) + end; + PSHMENUBARINFO=^SHMENUBARINFO; + + {SHRecognizeGesture} + SHRGI = record + cbSize : DWORD; + hwndClient : HWND ; + ptDown : POINT; + dwFlags : DWORD; + end; + SHRGINFO=SHRGI; + PSHRGINFO=^SHRGI; + + {Sip info} + SIPINFO = record + cbSize : DWORD; + fdwFlags : DWORD; + rcVisibleDesktop : RECT; + rcSipRect : RECT; + dwImDataSize : DWORD; + pvImData : pointer; + end; + TSIPINFO=SIPINFO; + PSIPINFO=^SIPINFO; + + SIPSTATE= (SIP_UP= 0,SIP_DOWN,SIP_FORCEDOWN,SIP_UNCHANGED,SIP_INPUTDIALOG); + +//***************************************************************************** +// functions +//***************************************************************************** + +function ExitWindowsEx(uFlags:UINT; dwReserved:DWORD):WINBOOL; external UserDLLAyg name 'ExitWindowsEx'; +function SHCloseApps( dwMemSought : DWORD ): WINBOOL; external UserDLLAyg name 'SHCloseApps'; +function SHCreateMenuBar(pmbi : PSHMENUBARINFO ): WINBOOL; external UserDLLAyg name 'SHCreateMenuBar'; +function SHDoneButton(hwndRequester: HWND ; dwState : DWORD ): WINBOOL; external UserDLLAyg name 'SHDoneButton'; +function SHFindMenuBar(hwnd:HWND) : HWND; external UserDLLAyg name 'SHFindMenuBar'; +function SHFullScreen(hwmdRequester: hWnd; dwState: DWord): WINBOOL; external UserDLLAyg name 'SHFullScreen'; {Pocket PC special controls} +function SHGetAutoRunPath( pAutoRunPath : LPTSTR ): WINBOOL; external UserDLLAyg name 'SHGetAutoRunPath'; +function SHHandleWMActivate(hwnd:HWND; wParam:WPARAM; lParam:LPARAM; psai: PSHACTIVATEINFO; dwFlags:DWORD ): WINBOOL; external UserDLLAyg index 84; +function SHHandleWMSettingChange(hwnd:HWND; wParam:WPARAM; lParam:LPARAM; psai: PSHACTIVATEINFO): WINBOOL; external UserDLLAyg index 83; +function SHInitDialog(pshidi: PSHINITDLGINFO): WINBOOL; external UserDLLAyg name 'SHInitDialog'; +function SHInitExtraControls: WINBOOL; external UserDLLAyg name 'SHInitExtraControls'; +procedure SHInputDialog(hwnd : HWND; uMsg : UINT; wParam: WPARAM ); external UserDLLAyg name 'SHInputDialog'; +function SHGetAppKeyAssoc( ptszApp: LPCTSTR ): Byte; external UserDLLAyg name 'SHGetAppKeyAssoc'; +function SHSetAppKeyWndAssoc( bVk: BYTE ; hwnd : HWND ): WINBOOL; external UserDLLAyg name 'SHSetAppKeyWndAssoc'; +function SHSetNavBarText(hwndRequester : HWND; pszText : LPCTSTR): WINBOOL; external UserDLLAyg name 'SHSetNavBarText'; +function SHLoadImageResource(hinst: HINST; uIdGif: UINT ): HBITMAP; external UserDLLAyg index 64; +function SHLoadImageFile(pszFileName: LPCTSTR ) : HBITMAP; external UserDLLAyg index 75; +procedure SHNavigateBack; external UserDLLAyg index 183; +function SHSipInfo(uiAction: UINT; uiParam: UINT; pvParam: PVOID; fWinIni: UINT ): WINBOOL; external UserDLLAyg name 'SHSipInfo'; +function SHSipPreference(hwnd: HWND ; st : SIPSTATE ) : WINBOOL; external UserDLLAyg name 'SHSipPreference'; +function SHRecognizeGesture(var shrg : SHRGINFO): DWORD; external UserDLLAyg name 'SHRecognizeGesture'; + +{$endif read_interface} + +{$ifdef read_implementation} + +{$endif read_implementation} + + diff --git a/packages/winceunits/src/ceshell.inc b/packages/winceunits/src/ceshell.inc deleted file mode 100644 index 404e49936a..0000000000 --- a/packages/winceunits/src/ceshell.inc +++ /dev/null @@ -1,236 +0,0 @@ -{ - This file is part of the Free Pascal run time library. - Copyright (c) 2006 Free Pascal development team. - - See the file COPYING.FPC, included in this distribution, - for details about the copyright. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - **********************************************************************} - -{ Declarations for ceshell WinCE API - -} - -{exported functions list = to do, - * please remove functions done * - - Exports - - ordinal name - - 49 ?DLL_SHGetSpecialFolderPath@@YAHPAUHWND__@@PAGHH@Z - 4E ?PathIsRestrictedEx@@YAHPBGH@Z - 16 ?SHRemoveFontResource@@YAHPAG@Z - 17 ?_SHRemoveFontResource@@YAHPAG@Z - C DLL_SHGetFileInfo - 5 DoDragDrop - 38 Host_CheckStack - 3A Host_Exec - 35 Host_FindBigDaddy - 36 Host_MaxWindow - 39 Host_MessageBox - 37 Host_OpenPositionDB - 3B Host_ShortcutGetArgs - 3C Host_ShortcutRemoveArgs - 34 Host_ShowFileError - 42 ILConcatenate - 43 ILCopy - 41 ILFree - 46 ILGetFileSystemPidlData - 3D ILIsFileSystemPidl - 3F ILIsGUIDPidl - 3E ILIsNameSpacePidl - 40 ILIsPidl - 44 ILIsRemovableDevice - 45 ILRealPathFromPidl - 21 PathCompactPath - 20 PathCompactSlashes - 28 PathFileExists - 1D PathFindExtension - 1E PathFindFileName - 2C PathGetArgs - 23 PathGetAssociation - 22 PathIsDirectory - 24 PathIsExe - 26 PathIsExtension - 31 PathIsGUID - 25 PathIsLink - 32 PathIsRemovableDevice - 33 PathIsRestricted - 19 PathIsValidFileName - 1A PathIsValidPath - 27 PathMakePretty - 30 PathMakeUniqueName - 2F PathMatchSpec - 2B PathRemoveArgs - 1B PathRemoveBlanks - 29 PathRemoveExtension - 2A PathRemoveFileSpec - 2E PathRemoveQuotes - 2D PathRemoveQuotesAndArgs - 1C PathRemoveTrailingSlashes - 1F PathStripPath - 6 RegisterDragDrop - 7 RevokeDragDrop - 12 SHAddToRecentDocs - 4D SHCanonicalizePath - 10 SHCreateShortcut - 15 SHFlushCache - 4A SHGetCEString - 8 SHGetDesktopFolder - 48 SHGetDocumentsFolder - B SHGetMalloc - 11 SHGetShortcutTarget - 18 SHIsFileOperationRestricted - 4C SHIsFileOperationRestrictedEx - 47 SHIsRestrictedProcess - F SHLoadDIBitmap - E SHLoadDIBitmapBrush - 13 SHRegQuerySZ - 14 SHRegQuerySZEx - 4 SHSetSystemEUDCFont - 4B SHUnpackDirID - 1 __IMPORT_DESCRIPTOR_CEShell - 2 __NULL_IMPORT_DESCRIPTOR - 49 __imp_?DLL_SHGetSpecialFolderPath@@YAHPAUHWND__@@PAGHH@Z - 4E __imp_?PathIsRestrictedEx@@YAHPBGH@Z - 16 __imp_?SHRemoveFontResource@@YAHPAG@Z - 17 __imp_?_SHRemoveFontResource@@YAHPAG@Z - C __imp_DLL_SHGetFileInfo - 5 __imp_DoDragDrop - 38 __imp_Host_CheckStack - 3A __imp_Host_Exec - 35 __imp_Host_FindBigDaddy - 36 __imp_Host_MaxWindow - 39 __imp_Host_MessageBox - 37 __imp_Host_OpenPositionDB - 3B __imp_Host_ShortcutGetArgs - 3C __imp_Host_ShortcutRemoveArgs - 34 __imp_Host_ShowFileError - 42 __imp_ILConcatenate - 43 __imp_ILCopy - 41 __imp_ILFree - 46 __imp_ILGetFileSystemPidlData - 3D __imp_ILIsFileSystemPidl - 3F __imp_ILIsGUIDPidl - 3E __imp_ILIsNameSpacePidl - 40 __imp_ILIsPidl - 44 __imp_ILIsRemovableDevice - 45 __imp_ILRealPathFromPidl - 21 __imp_PathCompactPath - 20 __imp_PathCompactSlashes - 28 __imp_PathFileExists - 1D __imp_PathFindExtension - 1E __imp_PathFindFileName - 2C __imp_PathGetArgs - 23 __imp_PathGetAssociation - 22 __imp_PathIsDirectory - 24 __imp_PathIsExe - 26 __imp_PathIsExtension - 31 __imp_PathIsGUID - 25 __imp_PathIsLink - 32 __imp_PathIsRemovableDevice - 33 __imp_PathIsRestricted - 19 __imp_PathIsValidFileName - 1A __imp_PathIsValidPath - 27 __imp_PathMakePretty - 30 __imp_PathMakeUniqueName - 2F __imp_PathMatchSpec - 2B __imp_PathRemoveArgs - 1B __imp_PathRemoveBlanks - 29 __imp_PathRemoveExtension - 2A __imp_PathRemoveFileSpec - 2E __imp_PathRemoveQuotes - 2D __imp_PathRemoveQuotesAndArgs - 1C __imp_PathRemoveTrailingSlashes - 1F __imp_PathStripPath - 6 __imp_RegisterDragDrop - 7 __imp_RevokeDragDrop - 12 __imp_SHAddToRecentDocs - 4D __imp_SHCanonicalizePath - 10 __imp_SHCreateShortcut - 15 __imp_SHFlushCache - 4A __imp_SHGetCEString - 8 __imp_SHGetDesktopFolder - 48 __imp_SHGetDocumentsFolder - B __imp_SHGetMalloc - 11 __imp_SHGetShortcutTarget - 18 __imp_SHIsFileOperationRestricted - 4C __imp_SHIsFileOperationRestrictedEx - 47 __imp_SHIsRestrictedProcess - F __imp_SHLoadDIBitmap - E __imp_SHLoadDIBitmapBrush - 13 __imp_SHRegQuerySZ - 14 __imp_SHRegQuerySZEx - 4 __imp_SHSetSystemEUDCFont - 4B __imp_SHUnpackDirID - 3 CEShell_NULL_THUNK_DATA - -} - -{$ifdef read_interface} - -//***************************************************************************** -// consts -//***************************************************************************** -const - ShellDLL = 'CEShell'; - - FO_MOVE = $0001; - FO_COPY = $0002; - FO_DELETE = $0003; - FO_RENAME = $0004; - - FOF_MULTIDESTFILES = $0001; - FOF_CONFIRMMOUSE = $0002; - FOF_SILENT = $0004; // don't create progress/report - FOF_RENAMEONCOLLISION = $0008; - FOF_NOCONFIRMATION = $0010; // Don't prompt the user. - FOF_WANTMAPPINGHANDLE = $0020; // Fill in SHFILEOPSTRUCT.hNameMappings - // Must be freed using SHFreeNameMappings - FOF_ALLOWUNDO = $0040; - FOF_FILESONLY = $0080; // on *.*, do only files - FOF_SIMPLEPROGRESS = $0100; // means don't show names of files - FOF_NOCONFIRMMKDIR = $0200; // don't confirm making any needed dirs - -//***************************************************************************** -// types -//***************************************************************************** - -type -{ IMalloc interface } - - IMalloc = interface(IUnknown) - ['{00000002-0000-0000-C000-000000000046}'] - function Alloc(cb: Longint): Pointer; - function Realloc(pv: Pointer; cb: Longint): Pointer; - procedure Free(pv: Pointer); - function GetSize(pv: Pointer): Longint; - function DidAlloc(pv: Pointer): Integer; - procedure HeapMinimize; - end; - LPMALLOC = ^IMalloc; - PMALLOC = ^IMalloc; - -//***************************************************************************** -// functions -//***************************************************************************** -function SHFileOperation(lpFileOp:LPSHFILEOPSTRUCTW): longint; external ShellDLL name 'SHFileOperationW'; -function SHFileOperation(const lpFileOp:SHFILEOPSTRUCTW): longint; external ShellDLL name 'SHFileOperationW'; -function SHFileOperationW(lpFileOp:LPSHFILEOPSTRUCTW): longint; external ShellDLL name 'SHFileOperationW'; -function SHFileOperationW(const lpFileOp:SHFILEOPSTRUCTW): longint; external ShellDLL name 'SHFileOperationW'; -function SHGetPathFromIDList(_para1:LPCITEMIDLIST; _para2:LPTSTR):WINBOOL; external ShellDLL name 'SHGetPathFromIDList'; -function SHGetPathFromIDListW(_para1:LPCITEMIDLIST; _para2:LPTSTR):WINBOOL; external ShellDLL name 'SHGetPathFromIDList'; -function SHGetMalloc(var ppMalloc: LPMALLOC): HRESULT; external ShellDLL name 'SHGetMalloc'; -function SHGetSpecialFolderLocation(_para1:HWND; _para2:longint; var _para3:LPITEMIDLIST):HRESULT; external ShellDLL name 'SHGetSpecialFolderLocation'; - -{$endif read_interface} - -{$ifdef read_implementation} - - -{$endif read_implementation} diff --git a/packages/winceunits/src/commctrl.inc b/packages/winceunits/src/commctrl.inc deleted file mode 100644 index f0bb860eb4..0000000000 --- a/packages/winceunits/src/commctrl.inc +++ /dev/null @@ -1,707 +0,0 @@ -{ - This file is part of the Free Pascal run time library. - Copyright (c) 2006 Free Pascal development team. - - See the file COPYING.FPC, included in this distribution, - for details about the copyright. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - **********************************************************************} - -{ Declarations for commctrl WinCE API - -} - -{exported functions list = to do, - * please remove functions done * - - Exports - - ordinal name - - 73 AddMRUData - 66 AddMRUStringA - 67 AddMRUStringW - 35 CenterWindow - 11 CommandBar_GetItemWindow - 63 CreateMRUListA - 64 CreateMRUListW - 15 CreateToolbar - 50 DPA_Create - 61 DPA_DeleteAllPtrs - 60 DPA_DeletePtr - 31 DPA_Destroy - 56 DPA_DestroyCallback - 32 DPA_GetPtr - 62 DPA_GetPtrIndex - 54 DPA_Grow - 51 DPA_InsertPtr - 59 DPA_Search - 53 DPA_SetPtr - 52 DPA_Sort - 46 DSA_Clone - 23 DSA_Create - 30 DSA_DeleteAllItems - 29 DSA_DeleteItem - 24 DSA_Destroy - 47 DSA_DestroyCallback - 48 DSA_EnumCallback - 25 DSA_GetItem - 26 DSA_GetItemPtr - 27 DSA_InsertItem - 45 DSA_Search - 28 DSA_SetItem - 58 DSA_SetRange - 57 DSA_Sort - 68 DelMRUString - 49 DoReaderMode - 71 EnumMRUListA - 72 EnumMRUListW - 74 FindMRUData - 69 FindMRUStringA - 70 FindMRUStringW - 65 FreeMRUList - 22 InvertRect - 55 IsCapEditAvailable - ListView_SetItemSpacing - 75 PopulateComboWithMRU - 76 PopulateMenuWithMRU - 80 SHCreateDefaultGradient - 79 SHDrawGradient - 81 SHDrawText - 77 SHGetSysColor - 78 SHGetSystemMetrics - 82 SHSetSysColors - 83 SHSetSystemMetrics - 34 StrToIntW - 33 Str_SetPtrW -} - -{$ifdef read_interface} - -//***************************************************************************** -// consts -//***************************************************************************** -const - ComctlDLL = 'commctrl'; - - COMCTL32_VERSION=$020c; - - // Common control shared messages - CCM_FIRST = $2000; - CCM_LAST = CCM_FIRST + $200; - - CCM_SETBKCOLOR = CCM_FIRST + $1; // lParam is bkColor - CCM_SETVERSION = CCM_FIRST + $7; - CCM_GETVERSION = CCM_FIRST + $8; - - //InitCommonControlEx - //I_IMAGENONE = -2; // Desktop listview uses this same value for I_IMAGENONE when (_WIN32_IE >= 0x0501) - - //ICC_LISTVIEW_CLASSES = $00000001; // listview, header - //ICC_TREEVIEW_CLASSES = $00000002; // treeview, tooltips - //ICC_BAR_CLASSES = $00000004; // toolbar, statusbar, trackbar, tooltips - //ICC_TAB_CLASSES = $00000008; // tab, tooltips - //ICC_UPDOWN_CLASS = $00000010; // updown - //ICC_PROGRESS_CLASS = $00000020; // progress - ICC_ANIMATE_CLASS = $00000080; // animate - //ICC_WIN95_CLASSES = $0000007F; - //ICC_DATE_CLASSES = $00000100; // month picker, date picker, time picker, updown - //ICC_COOL_CLASSES = $00000400; // rebar (coolbar) control - //ICC_INTERNET_CLASSES = $00000800; // IP Address control - //ICC_TOOLTIP_CLASSES = $00001000; // Tooltip static & button - //ICC_CAPEDIT_CLASS = $00002000; // All-caps edit control - //ICC_FE_CLASSES = $40000000; // FE specific input subclasses - - LVM_FIRST = $1000; // ListView messages - TV_FIRST = $1100; // TreeView messages - HDM_FIRST = $1200; // Header messages - - //Ranges for control message IDs - LVN_FIRST = (-100); // listview - LVN_LAST = (-199); - HDN_FIRST = (-300); // header - HDN_LAST = (-399); - TVN_FIRST = (-400); // treeview - TVN_LAST = (-499); - TTN_FIRST = (-520); // tooltips - TTN_LAST = (-549); - TCN_FIRST = (-550); // tab control - TCN_LAST = (-580); - // Shell reserved (0U-580U) - (0U-589U) - CDN_FIRST = (-601); // common dialog (new) - CDN_LAST = (-699); - TBN_FIRST = (-700); // toolbar - TBN_LAST = (-720); - UDN_FIRST = (-721); // updown - UDN_LAST = (-740); - MCN_FIRST = (-750); // monthcal - MCN_LAST = (-759); - RBN_FIRST = (-831); // rebar - RBN_LAST = (-859); - IPN_FIRST = (-860); // internet address - IPN_LAST = (-879); // internet address - SBN_FIRST = (-880); // status bar - SBN_LAST = (-900); - SHN_FIRST = (-1400); // Shell reserved - SHN_LAST = (-1500); - - MSGF_COMMCTRL_BEGINDRAG = $4200; - MSGF_COMMCTRL_SIZEHEADER = $4201; - MSGF_COMMCTRL_DRAGSELECT = $4202; - - //Generic WM_NOTIFY notification codes - NM_FIRST = 0; - NM_LAST = -99; - //NM_OUTOFMEMORY = (NM_FIRST-1); - //NM_CLICK = (NM_FIRST-2); - //NM_DBLCLK = (NM_FIRST-3); - //NM_RETURN = (NM_FIRST-4); - //NM_RCLICK = (NM_FIRST-5); - //NM_RDBLCLK = (NM_FIRST-6); - //NM_SETFOCUS = (NM_FIRST-7); - //NM_KILLFOCUS = (NM_FIRST-8); - NM_CUSTOMDRAW = (NM_FIRST-12); - NM_HOVER = (NM_FIRST-13); - NM_NCHITTEST = (NM_FIRST-14); - NM_KEYDOWN = (NM_FIRST-15); - NM_RECOGNIZEGESTURE = (NM_FIRST-50); - - { Header control notifications } - HDN_BEGINTRACKW = HDN_FIRST-26; - HDN_DIVIDERDBLCLICKW = HDN_FIRST-25; - HDN_ENDTRACKW = HDN_FIRST-27; - HDN_ITEMCHANGEDW = HDN_FIRST-21; - HDN_ITEMCHANGINGW = HDN_FIRST-20; - HDN_ITEMCLICKW = HDN_FIRST-22; - HDN_ITEMDBLCLICKW = HDN_FIRST-23; - HDN_TRACKW = HDN_FIRST-28; - HDN_GETDISPINFOW = HDN_FIRST-29; - HDN_BEGINDRAG = HDN_FIRST-10; - HDN_ENDDRAG = HDN_FIRST-11; - - HDN_BEGINTRACK = HDN_BEGINTRACKW; - HDN_DIVIDERDBLCLICK = HDN_DIVIDERDBLCLICKW; - HDN_ENDTRACK = HDN_ENDTRACKW; - HDN_ITEMCHANGED = HDN_ITEMCHANGEDW; - HDN_ITEMCHANGING = HDN_ITEMCHANGINGW; - HDN_ITEMCLICK = HDN_ITEMCLICKW; - HDN_ITEMDBLCLICK = HDN_ITEMDBLCLICKW; - HDN_TRACK = HDN_TRACKW; - HDN_GETDISPINFO = HDN_GETDISPINFOW; - - // DATETIMEPICK CONTROL - DATETIMEPICK_CLASS ='SysDateTimePick32'; - DTM_FIRST = $1000; - DTM_GETSYSTEMTIME = DTM_FIRST + 1; - DTM_SETSYSTEMTIME = DTM_FIRST + 2; - DTM_GETRANGE = DTM_FIRST + 3; - DTM_SETRANGE = DTM_FIRST + 4; - DTM_SETFORMATA = DTM_FIRST + 5; - DTM_SETMCCOLOR = DTM_FIRST + 6; - DTM_GETMCCOLOR = DTM_FIRST + 7; - DTM_GETMONTHCAL = DTM_FIRST + 8; - DTM_SETMCFONT = DTM_FIRST + 9; - DTM_GETMCFONT = DTM_FIRST + 10; - DTM_SETFORMATW = DTM_FIRST + 50; - DTM_SETFORMAT = DTM_SETFORMATW; - - - DTS_UPDOWN = $0001; - DTS_SHOWNONE = $0002; - DTS_SHORTDATEFORMAT = $0000; - DTS_LONGDATEFORMAT = $0004; - DTS_SHORTDATECENTURYFORMAT = $000C; - DTS_TIMEFORMAT = $0009; - DTS_APPCANPARSE = $0010; - DTS_RIGHTALIGN = $0020; - DTS_NONEBUTTON = $0080; - - //datetimepick - DTN_FIRST =-760; - DTN_LAST =-799; - DTN_DATETIMECHANGE = DTN_FIRST + 1; - DTN_USERSTRINGA = DTN_FIRST + 2; - DTN_WMKEYDOWNA = DTN_FIRST + 3; - DTN_FORMATA = DTN_FIRST + 4; - DTN_FORMATQUERYA = DTN_FIRST + 5; - DTN_DROPDOWN = DTN_FIRST + 6; - DTN_CLOSEUP = DTN_FIRST + 7; - DTN_USERSTRINGW = DTN_FIRST + 15; - DTN_WMKEYDOWNW = DTN_FIRST + 16; - DTN_FORMATW = DTN_FIRST + 17; - DTN_FORMATQUERYW = DTN_FIRST + 18; - - DTN_USERSTRING = DTN_USERSTRINGW; - - GDTR_MIN = $0001; - GDTR_MAX = $0002; - - GDT_ERROR = -1; - GDT_VALID = 0; - GDT_NONE = 1; - - //TOOLBAR CONTROL - //TOOLBARCLASSNAMEW = 'ToolbarWindow32'; - //TOOLBARCLASSNAME = TOOLBARCLASSNAMEW; - - TBIF_IMAGE = $00000001; - TBIF_TEXT = $00000002; - TBIF_STATE = $00000004; - TBIF_STYLE = $00000008; - TBIF_LPARAM = $00000010; - TBIF_COMMAND = $00000020; - TBIF_SIZE = $00000040; - - // BUTTONINFO APIs - TB_GETBUTTONINFOW = (WM_USER + 63); - TB_SETBUTTONINFOW = (WM_USER + 64); - TB_GETBUTTONINFO = TB_GETBUTTONINFOW; - TB_SETBUTTONINFO = TB_SETBUTTONINFOW; - - TB_INSERTBUTTONW = (WM_USER + 67); - TB_ADDBUTTONSW = (WM_USER + 68); - TB_HITTEST = (WM_USER + 69); - - //TB_INSERTBUTTON = TB_INSERTBUTTONW; - //TB_ADDBUTTONS = TB_ADDBUTTONSW; - - TB_SETDRAWTEXTFLAGS = (WM_USER + 70); - - //TBN_GETBUTTONINFOW = (TBN_FIRST-20); - //TBN_BEGINDRAG = (TBN_FIRST-1); - //TBN_ENDDRAG = (TBN_FIRST-2); - TBN_DROPDOWN = (TBN_FIRST - 10); - TBN_DRAGOUT = (TBN_FIRST - 14); - //TBN_GETBUTTONINFO = TBN_GETBUTTONINFOW; - - // custom draw return flags - // values under 0x00010000 are reserved for global custom draw values. - // above that are for specific controls - CDRF_DODEFAULT = $00000000; - CDRF_NEWFONT = $00000002; - CDRF_SKIPDEFAULT = $00000004; - CDRF_NOTIFYPOSTPAINT = $00000010; - CDRF_NOTIFYITEMDRAW = $00000020; - CDRF_NOTIFYSUBITEMDRAW = $00000020; // flags are the same, we can distinguish by context - CDRF_NOTIFYPOSTERASE = $00000040; - - // drawstage flags - // values under = $00010000 are reserved for global custom draw values. - // above that are for specific controls - CDDS_PREPAINT = $00000001; - CDDS_POSTPAINT = $00000002; - CDDS_PREERASE = $00000003; - CDDS_POSTERASE = $00000004; - // the = $000010000 bit means it's individual item specific - CDDS_ITEM = $00010000; - CDDS_ITEMPREPAINT = CDDS_ITEM or CDDS_PREPAINT; - CDDS_ITEMPOSTPAINT = CDDS_ITEM or CDDS_POSTPAINT; - CDDS_ITEMPREERASE = CDDS_ITEM or CDDS_PREERASE; - CDDS_ITEMPOSTERASE = CDDS_ITEM or CDDS_POSTERASE; - CDDS_SUBITEM = $00020000; - - // Pocket PC special controls - WC_CAPEDIT = 'CAPEDIT'; - WC_TSTATIC = 'TTSTATIC'; - WC_TBUTTON = 'TTBUTTON'; - - // for FE, single byte character edit - WC_SBEDIT = 'sbedit'; - - // REBAR CONTROL - REBARCLASSNAME = 'ReBarWindow'; - - RBIM_IMAGELIST = $00000001; - RBS_VARHEIGHT = $0200; - RBS_BANDBORDERS = $0400; - RBS_FIXEDORDER = $0800; - RBS_SMARTLABELS = $1000; - RBS_AUTOSIZE = $2000; - RBS_VERTICALGRIPPER = $4000; { this always has the vertical gripper (default for horizontal mode) } - - RBBS_BREAK = $00000001; { break to new line } - RBBS_FIXEDSIZE = $00000002; { band can't be sized } - RBBS_CHILDEDGE = $00000004; { edge around top & bottom of child window } - RBBS_HIDDEN = $00000008; { don't show } - RBBS_NOVERT = $00000010; { don't show when vertical } - RBBS_FIXEDBMP = $00000020; { bitmap doesn't move during band resize } - RBBS_VARIABLEHEIGHT = $00000040; { allow autosizing of this child vertically } - RBBS_GRIPPERALWAYS = $00000080; { always show the gripper } - RBBS_NOGRIPPER = $00000100; { never show gripper for this band } - - RBBIM_STYLE = $00000001; - RBBIM_COLORS = $00000002; - RBBIM_TEXT = $00000004; - RBBIM_IMAGE = $00000008; - RBBIM_CHILD = $00000010; - RBBIM_CHILDSIZE = $00000020; - RBBIM_SIZE = $00000040; - RBBIM_BACKGROUND = $00000080; - RBBIM_ID = $00000100; - RBBIM_IDEALSIZE = $00000200; - RBBIM_LPARAM = $00000400; - - RB_DELETEBAND = WM_USER+2; - RB_GETBARINFO = WM_USER+3; - RB_SETBARINFO = WM_USER+4; - RB_SETPARENT = WM_USER+7; - RB_HITTEST = WM_USER+8; - RB_GETRECT = WM_USER+9; - RB_INSERTBANDW = WM_USER+10; - RB_SETBANDINFOW = WM_USER+11; - RB_GETBANDCOUNT = WM_USER+12; - RB_GETROWCOUNT = WM_USER+13; - RB_GETROWHEIGHT = WM_USER+14; - RB_IDTOINDEX = WM_USER+16; { wParam == id } - RB_SETBKCOLOR = WM_USER+19; { sets the default BK color } - RB_GETBKCOLOR = WM_USER+20; { defaults to CLR_NONE } - RB_SETTEXTCOLOR = WM_USER+21; - RB_GETTEXTCOLOR = WM_USER+22; { defaults to 0x00000000 } - RB_SIZETORECT = WM_USER+23; { resize the rebar/break bands and such to this rect (lparam) } - RB_INSERTBAND = RB_INSERTBANDW; - RB_SETBANDINFO = RB_SETBANDINFOW; - RB_BEGINDRAG = WM_USER+24; - RB_ENDDRAG = WM_USER+25; - RB_DRAGMOVE = WM_USER+26; - RB_GETBARHEIGHT = WM_USER+27; - RB_GETBANDINFOW = WM_USER+28; - RB_GETBANDINFO = RB_GETBANDINFOW; - RB_MINIMIZEBAND = WM_USER+30; - RB_MAXIMIZEBAND = WM_USER+31; - RB_GETBANDBORDERS = WM_USER+34; { returns in lparam = lprc the amount of edges added to band wparam } - RB_SHOWBAND = WM_USER+35; { show/hide band } - RB_MOVEBAND = WM_USER+36; - - RBN_HEIGHTCHANGE = RBN_FIRST-0; - RBN_LAYOUTCHANGED = RBN_FIRST-2; - RBN_AUTOSIZE = RBN_FIRST-3; - RBN_BEGINDRAG = RBN_FIRST-4; - RBN_ENDDRAG = RBN_FIRST-5; - - RBHT_NOWHERE = $0001; - RBHT_CAPTION = $0002; - RBHT_CLIENT = $0003; - RBHT_GRABBER = $0004; - -//***************************************************************************** -// types -//***************************************************************************** - -type - // DATETIMEPICK CONTROL - tagNMDATETIMECHANGE = record - nmhdr : NMHDR; - dwFlags : DWORD; - st : SYSTEMTIME; - end; - NMDATETIMECHANGE=tagNMDATETIMECHANGE; - TNMDATETIMECHANGE=tagNMDATETIMECHANGE; - LPNMDATETIMECHANGE=^tagNMDATETIMECHANGE; - - tagNMDATETIMESTRINGW = record - nmhdr : NMHDR; - pszUserString : LPCWSTR; - st : SYSTEMTIME; - dwFlags : DWORD; - end; - NMDATETIMESTRINGW=tagNMDATETIMESTRINGW; - TNMDATETIMESTRINGW=tagNMDATETIMESTRINGW; - LPNMDATETIMESTRINGW=^tagNMDATETIMESTRINGW; - NMDATETIMESTRING=tagNMDATETIMESTRINGW; - TNMDATETIMESTRING=tagNMDATETIMESTRINGW; - PNMDATETIMESTRING=^tagNMDATETIMESTRINGW; - - tagNMDATETIMEWMKEYDOWNA = record - nmhdr : NMHDR; - nVirtKey : integer; - pszFormat : LPCSTR; - st : SYSTEMTIME; - end; - NMDATETIMEWMKEYDOWNA=tagNMDATETIMEWMKEYDOWNA; - TNMDATETIMEWMKEYDOWNA=tagNMDATETIMEWMKEYDOWNA; - LPNMDATETIMEWMKEYDOWNA=^tagNMDATETIMEWMKEYDOWNA; - - tagNMDATETIMEWMKEYDOWNW = record - nmhdr : NMHDR; - nVirtKey : integer; - pszFormat : LPCWSTR; - st : SYSTEMTIME; - end; - NMDATETIMEWMKEYDOWNW=tagNMDATETIMEWMKEYDOWNW; - TNMDATETIMEWMKEYDOWNW=tagNMDATETIMEWMKEYDOWNW; - LPNMDATETIMEWMKEYDOWNW=^tagNMDATETIMEWMKEYDOWNW; - - - tagNMDATETIMEFORMATA = record - nmhdr : NMHDR; - pszFormat : LPCSTR; - st : SYSTEMTIME; - pszDisplay : LPCSTR; - szDisplay : Array[0..63] of CHAR; - end; - NMDATETIMEFORMATA=tagNMDATETIMEFORMATA; - TNMDATETIMEFORMATA=tagNMDATETIMEFORMATA; - LPNMDATETIMEFORMATA=^NMDATETIMEFORMATA; - - tagNMDATETIMEFORMATW = record - nmhdr : NMHDR; - pszFormat : LPCWSTR; - st : SYSTEMTIME; - pszDisplay : LPCWSTR; - szDisplay : Array[0..63] of WCHAR; - end; - NMDATETIMEFORMATW=tagNMDATETIMEFORMATW; - TNMDATETIMEFORMATW=tagNMDATETIMEFORMATW; - LPNMDATETIMEFORMATW=^NMDATETIMEFORMATW; - - - tagNMDATETIMEFORMATQUERYA = record - nmhdr : NMHDR; - pszFormat : LPCSTR; - szMax : SIZE; - end; - NMDATETIMEFORMATQUERYA=tagNMDATETIMEFORMATQUERYA; - TNMDATETIMEFORMATQUERYA=tagNMDATETIMEFORMATQUERYA; - LPNMDATETIMEFORMATQUERYA=^tagNMDATETIMEFORMATQUERYA; - - tagNMDATETIMEFORMATQUERYW = record - nmhdr : NMHDR; - pszFormat : LPCWSTR; - szMax : SIZE; - end; - NMDATETIMEFORMATQUERYW=tagNMDATETIMEFORMATQUERYW; - TNMDATETIMEFORMATQUERYW=tagNMDATETIMEFORMATQUERYW; - LPNMDATETIMEFORMATQUERYW=^tagNMDATETIMEFORMATQUERYW; - - //Generic structure for a key - tagNMKEY = Record - hdr : NMHDR; - wVKey : WORD; - flags : UINT; - end; - NMKEY=tagNMKEY; - LPNMKEY=^NMKEY; - - //Generic WM_NOTIFY notification structures - tagNMMOUSE = Record - hdr : NMHDR; - dwItemSpec : DWORD; - dwItemData : DWORD; - pt : POINT; - end; - NMMOUSE=tagNMMOUSE; - LPNMMOUSE=^NMMOUSE; - PNMMOUSE=^NMMOUSE; - NMCLICK=NMMOUSE; - LPNMCLICK=LPNMMOUSE; - - //TOOLBAR CONTROL - TBBUTTONINFOW = record - cbSize : UINT; - dwMask : DWORD; - idCommand : Longint; - iImage : Longint; - fsState : BYTE; - fsStyle : BYTE; - cx : WORD; - lParam : DWORD; - pszText : LPWSTR; - cchText : Longint; - end; - LPTBBUTTONINFOW=^TBBUTTONINFOW; - TBBUTTONINFO=TBBUTTONINFOW; - TTBButtonInfo=TBBUTTONINFO; - - tagNMCUSTOMDRAWINFO = packed record - hdr: TNMHdr; - dwDrawStage: DWORD; - hdc: HDC; - rc: TRect; - dwItemSpec: DWORD; - uItemState: UINT; - lItemlParam: LPARAM; - end; - PNMCustomDraw = ^TNMCustomDraw; - TNMCustomDraw = tagNMCUSTOMDRAWINFO; - - tagNMLVCUSTOMDRAW = packed record - nmcd: TNMCustomDraw; - clrText: COLORREF; - clrTextBk: COLORREF; - iSubItem: Integer; - end; - PNMLVCustomDraw = ^TNMLVCustomDraw; - TNMLVCustomDraw = tagNMLVCUSTOMDRAW; - - tagNMLVODSTATECHANGE = packed record - hdr: TNMHdr; - iFrom: Integer; - iTo: Integer; - uNewState: UINT; - uOldState: UINT; - end; - PNMLVODStateChange = ^TNMLVODStateChange; - TNMLVODStateChange = tagNMLVODSTATECHANGE; - - tagREBARINFO = record - cbSize : UINT; - fMask : UINT; - himl : HIMAGELIST; - end; - REBARINFO = tagREBARINFO; - LPREBARINFO = ^tagREBARINFO; - - tagREBARBANDINFOW = record - cbSize : UINT; - fMask : UINT; - fStyle : UINT; - clrFore : COLORREF; - clrBack : COLORREF; - lpText : LPWSTR; - cch : UINT; - iImage : longint; - hwndChild : HWND; - cxMinChild : UINT; - cyMinChild : UINT; - cx : UINT; - hbmBack : HBITMAP; - wID : UINT; - cyChild : UINT; - cyMaxChild : UINT; - cyIntegral : UINT; - cxIdeal : UINT; - lParam : LPARAM; - end; - REBARBANDINFOW = tagREBARBANDINFOW; - LPREBARBANDINFOW = ^tagREBARBANDINFOW; - LPCREBARBANDINFOW = REBARBANDINFOW; - REBARBANDINFO = REBARBANDINFOW; - LPREBARBANDINFO = LPREBARBANDINFOW; - LPCREBARBANDINFO = LPCREBARBANDINFOW; - - tagNMREBAR = record - hdr : NMHDR; - uBand : UINT; - wID : UINT; - cyChild : UINT; - cyBand : UINT; - end; - NMREBAR = tagNMREBAR; - LPNMREBAR = ^tagNMREBAR; - - tagNMRBAUTOSIZE = record - hdr : NMHDR; - fChanged : BOOL; - rcTarget : RECT; - rcActual : RECT; - end; - NMRBAUTOSIZE = tagNMRBAUTOSIZE; - LPNMRBAUTOSIZE = ^tagNMRBAUTOSIZE; - - _RB_HITTESTINFO = record - pt : POINT; - flags : UINT; - iBand : longint; - end; - RBHITTESTINFO = _RB_HITTESTINFO; - LPRBHITTESTINFO = ^_RB_HITTESTINFO; - - tagCOMMANDBANDSRESTOREINFO = record - cbSize : UINT; - wID : UINT; - fStyle : UINT; - cxRestored : UINT; - fMaximized : BOOL; - end; - COMMANDBANDSRESTOREINFO = tagCOMMANDBANDSRESTOREINFO; - LPCOMMANDBANDSRESTOREINFO = ^tagCOMMANDBANDSRESTOREINFO; - LPCCOMMANDBANDSRESTOREINFO = COMMANDBANDSRESTOREINFO; - -//***************************************************************************** -// functions -//***************************************************************************** - -function CreatePropertySheetPage(lppsp:LPCPROPSHEETPAGE):HPROPSHEETPAGE; external ComctlDLL name 'CreatePropertySheetPageW'; -function CreatePropertySheetPageW(lppsp:LPCPROPSHEETPAGE):HPROPSHEETPAGE; external ComctlDLL name 'CreatePropertySheetPageW'; -function CreateStatusWindow(style:LONG; lpszText:LPCWSTR; hwndParent:HWND; wID:UINT):HWND; external ComctlDll name 'CreateStatusWindowW'; -function CreateStatusWindowW(style:LONG; lpszText:LPCWSTR; hwndParent:HWND; wID:UINT):HWND; external ComctlDll name 'CreateStatusWindowW'; -function CreateToolbarEx(hwnd:HWND; ws:DWORD; wID:UINT; nBitmaps:longint; hBMInst:HINST;wBMID:UINT; lpButtons:LPCTBBUTTON; iNumButtons:longint; dxButton:longint; dyButton:longint;dxBitmap:longint; - dyBitmap:longint; uStructSize:UINT):HWND; external ComctlDLL name 'CreateToolbarEx'; -function CreateUpDownControl(dwStyle:DWORD; x:longint; y:longint; cx:longint; cy:longint;hParent:HWND; nID:longint; hInst:HINST; hBuddy:HWND; nUpper:longint;nLower:longint; nPos:longint):HWND; external ComctlDLL name 'CreateUpDownControl'; -function DestroyPropertySheetPage(hPSPage:HPROPSHEETPAGE):WINBOOL; external ComctlDLL name 'DestroyPropertySheetPage'; -procedure DrawStatusText(hDC:HDC; lprc:LPRECT; pszText:LPCWSTR; uFlags:UINT); external ComctlDLL name 'DrawStatusTextW'; -procedure DrawStatusTextW(hDC:HDC; lprc:LPRECT; pszText:LPCWSTR; uFlags:UINT); external ComctlDLL name 'DrawStatusTextW'; -procedure InitCommonControls; external ComctlDLL name 'InitCommonControls'; -function InitCommonControlsEx(_para1:LPINITCOMMONCONTROLSEX):WINBOOL; external ComctlDLL name 'InitCommonControlsEx'; -function PropertySheet(lppsph:LPCPROPSHEETHEADER):longint; external ComctlDll name 'PropertySheetW'; -function PropertySheetW(lppsph:LPCPROPSHEETHEADER):longint; external ComctlDll name 'PropertySheetW'; - -function CommandBands_AddAdornments(hwndCmdBands:HWND; hinst:THandle; dwFlags:DWORD; prbbi:LPREBARBANDINFO):BOOL;external ComctlDll name 'CommandBands_AddAdornments'; -function CommandBands_AddBands(hwndCmdBands:HWND; hinst:THandle; cBands:UINT; prbbi:LPREBARBANDINFO):BOOL;external ComctlDll name 'CommandBands_AddBands'; -function CommandBands_Create(hinst:THandle; hwndParent:HWND; wID:UINT; dwStyles:DWORD; himl:HIMAGELIST):HWND;external ComctlDll name 'CommandBands_Create'; -function CommandBands_GetCommandBar(hwndCmdBands:HWND; uBand:UINT):HWND;external ComctlDll name 'CommandBands_GetCommandBar'; -function CommandBands_GetRestoreInformation(hwndCmdBands:HWND; uBand:UINT; pcbri:LPCOMMANDBANDSRESTOREINFO):BOOL;external ComctlDll name 'CommandBands_GetRestoreInformation'; -function CommandBands_Show(hwndCmdBands:HWND; fShow:BOOL):BOOL;external ComctlDll name 'CommandBands_Show'; -function CommandBar_AddAdornments(hwndCB:HWND; dwFlags:DWORD; dwReserved:DWORD):BOOL;external ComctlDll name 'CommandBar_AddAdornments'; -function CommandBar_AddBitmap(hwndCB:HWND; hInst:THandle; idBitmap:longint; iNumImages:longint; iImageWidth:longint; iImageHeight:longint):longint;external ComctlDll name 'CommandBar_AddBitmap'; -function CommandBar_Create(hInst:THandle; hwndParent:HWND; idCmdBar:longint):HWND;external ComctlDll name 'CommandBar_Create'; -function CommandBar_DrawMenuBar(hwndCB:HWND; iButton:WORD):BOOL;external ComctlDll name 'CommandBar_DrawMenuBar'; -function CommandBar_GetMenu(hwndCB:HWND; iButton:WORD):HMENU;external ComctlDll name 'CommandBar_GetMenu'; -function CommandBar_Height(hwndCB:HWND):longint;external ComctlDll name 'CommandBar_Height'; -function CommandBar_InsertComboBox(hwndCB:HWND; THandle:THandle; iWidth:longint; dwStyle:UINT; idComboBox:WORD; iButton:WORD):HWND;external ComctlDll name 'CommandBar_InsertComboBox'; -function CommandBar_InsertMenubar(hwndCB:HWND; hInst:THandle; idMenu:WORD; iButton:WORD):BOOL;external ComctlDll name 'CommandBar_InsertMenubar'; -function CommandBar_InsertMenubarEx(hwndCB:HWND; hinst:THandle; pszMenu:LPTSTR; iButton:WORD):BOOL;external ComctlDll name 'CommandBar_InsertMenubarEx'; -function CommandBar_Show(hwndCB:HWND; fShow:BOOL):BOOL;external ComctlDll name 'CommandBar_Show'; -function IsCommandBarMessage(hwndCB:HWND; lpMsg:LPMSG):BOOL;external ComctlDll name 'IsCommandBarMessage'; -procedure CommandBar_Destroy(hwndCB : HWND); -function CommandBar_IsVisible(hwndCB : HWND) : BOOL; -function CommandBar_AddButtons(hwndCB : HWND; cbButtons : UINT; lpButtons : LPTBBUTTON) : BOOL; -function CommandBar_InsertButton(hwndCB : HWND; iButton : longint; lpButton : LPTBBUTTON) : BOOL; -function CommandBar_AddToolTips(hwndCB: HWND; cbToolTips : UINT; lpToolTipsStrings : LPTSTR) : BOOL; -function CommandBands_Height(hwndCmdBands : HWND) : UINT; -function CommandBands_IsVisible(hwndCmdBands : HWND) : BOOL; - -{$endif read_interface} - -{$ifdef read_implementation} - -procedure CommandBar_Destroy(hwndCB : HWND); -begin - DestroyWindow(hwndCB); -end; - -function CommandBar_IsVisible(hwndCB : HWND) : BOOL; -begin - CommandBar_IsVisible:=IsWindowVisible(hwndCB); -end; - -function CommandBar_AddButtons(hwndCB : HWND; cbButtons : UINT; lpButtons : LPTBBUTTON) : BOOL; -begin - CommandBar_AddButtons:=BOOL(SendMessage(hwndCB,TB_ADDBUTTONS,WPARAM(cbButtons),LPARAM(lpButtons))); -end; - -function CommandBar_InsertButton(hwndCB : HWND; iButton : longint; lpButton : LPTBBUTTON) : BOOL; -begin - CommandBar_InsertButton:=BOOL(SendMessage(hwndCB,TB_INSERTBUTTON,WPARAM(iButton),LPARAM(lpButton))); -end; - -function CommandBar_AddToolTips(hwndCB: HWND; cbToolTips : UINT; lpToolTipsStrings : LPTSTR) : BOOL; -begin - CommandBar_AddToolTips:=BOOL(SendMessage(hwndCB,TB_SETTOOLTIPS,WPARAM(cbToolTips),LPARAM(lpToolTipsStrings))); -end; - -function CommandBands_Height(hwndCmdBands : HWND) : UINT; -begin - CommandBands_Height:=UINT(SendMessage(hwndCmdBands,RB_GETBARHEIGHT,0,0)); -end; - -function CommandBands_IsVisible(hwndCmdBands : HWND) : BOOL; -begin - CommandBands_IsVisible:=IsWindowVisible(hwndCmdBands); -end; - -{$endif read_implementation} diff --git a/packages/winceunits/src/commctrl.pp b/packages/winceunits/src/commctrl.pp new file mode 100644 index 0000000000..f0bb860eb4 --- /dev/null +++ b/packages/winceunits/src/commctrl.pp @@ -0,0 +1,707 @@ +{ + This file is part of the Free Pascal run time library. + Copyright (c) 2006 Free Pascal development team. + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + +{ Declarations for commctrl WinCE API + +} + +{exported functions list = to do, + * please remove functions done * + + Exports + + ordinal name + + 73 AddMRUData + 66 AddMRUStringA + 67 AddMRUStringW + 35 CenterWindow + 11 CommandBar_GetItemWindow + 63 CreateMRUListA + 64 CreateMRUListW + 15 CreateToolbar + 50 DPA_Create + 61 DPA_DeleteAllPtrs + 60 DPA_DeletePtr + 31 DPA_Destroy + 56 DPA_DestroyCallback + 32 DPA_GetPtr + 62 DPA_GetPtrIndex + 54 DPA_Grow + 51 DPA_InsertPtr + 59 DPA_Search + 53 DPA_SetPtr + 52 DPA_Sort + 46 DSA_Clone + 23 DSA_Create + 30 DSA_DeleteAllItems + 29 DSA_DeleteItem + 24 DSA_Destroy + 47 DSA_DestroyCallback + 48 DSA_EnumCallback + 25 DSA_GetItem + 26 DSA_GetItemPtr + 27 DSA_InsertItem + 45 DSA_Search + 28 DSA_SetItem + 58 DSA_SetRange + 57 DSA_Sort + 68 DelMRUString + 49 DoReaderMode + 71 EnumMRUListA + 72 EnumMRUListW + 74 FindMRUData + 69 FindMRUStringA + 70 FindMRUStringW + 65 FreeMRUList + 22 InvertRect + 55 IsCapEditAvailable + ListView_SetItemSpacing + 75 PopulateComboWithMRU + 76 PopulateMenuWithMRU + 80 SHCreateDefaultGradient + 79 SHDrawGradient + 81 SHDrawText + 77 SHGetSysColor + 78 SHGetSystemMetrics + 82 SHSetSysColors + 83 SHSetSystemMetrics + 34 StrToIntW + 33 Str_SetPtrW +} + +{$ifdef read_interface} + +//***************************************************************************** +// consts +//***************************************************************************** +const + ComctlDLL = 'commctrl'; + + COMCTL32_VERSION=$020c; + + // Common control shared messages + CCM_FIRST = $2000; + CCM_LAST = CCM_FIRST + $200; + + CCM_SETBKCOLOR = CCM_FIRST + $1; // lParam is bkColor + CCM_SETVERSION = CCM_FIRST + $7; + CCM_GETVERSION = CCM_FIRST + $8; + + //InitCommonControlEx + //I_IMAGENONE = -2; // Desktop listview uses this same value for I_IMAGENONE when (_WIN32_IE >= 0x0501) + + //ICC_LISTVIEW_CLASSES = $00000001; // listview, header + //ICC_TREEVIEW_CLASSES = $00000002; // treeview, tooltips + //ICC_BAR_CLASSES = $00000004; // toolbar, statusbar, trackbar, tooltips + //ICC_TAB_CLASSES = $00000008; // tab, tooltips + //ICC_UPDOWN_CLASS = $00000010; // updown + //ICC_PROGRESS_CLASS = $00000020; // progress + ICC_ANIMATE_CLASS = $00000080; // animate + //ICC_WIN95_CLASSES = $0000007F; + //ICC_DATE_CLASSES = $00000100; // month picker, date picker, time picker, updown + //ICC_COOL_CLASSES = $00000400; // rebar (coolbar) control + //ICC_INTERNET_CLASSES = $00000800; // IP Address control + //ICC_TOOLTIP_CLASSES = $00001000; // Tooltip static & button + //ICC_CAPEDIT_CLASS = $00002000; // All-caps edit control + //ICC_FE_CLASSES = $40000000; // FE specific input subclasses + + LVM_FIRST = $1000; // ListView messages + TV_FIRST = $1100; // TreeView messages + HDM_FIRST = $1200; // Header messages + + //Ranges for control message IDs + LVN_FIRST = (-100); // listview + LVN_LAST = (-199); + HDN_FIRST = (-300); // header + HDN_LAST = (-399); + TVN_FIRST = (-400); // treeview + TVN_LAST = (-499); + TTN_FIRST = (-520); // tooltips + TTN_LAST = (-549); + TCN_FIRST = (-550); // tab control + TCN_LAST = (-580); + // Shell reserved (0U-580U) - (0U-589U) + CDN_FIRST = (-601); // common dialog (new) + CDN_LAST = (-699); + TBN_FIRST = (-700); // toolbar + TBN_LAST = (-720); + UDN_FIRST = (-721); // updown + UDN_LAST = (-740); + MCN_FIRST = (-750); // monthcal + MCN_LAST = (-759); + RBN_FIRST = (-831); // rebar + RBN_LAST = (-859); + IPN_FIRST = (-860); // internet address + IPN_LAST = (-879); // internet address + SBN_FIRST = (-880); // status bar + SBN_LAST = (-900); + SHN_FIRST = (-1400); // Shell reserved + SHN_LAST = (-1500); + + MSGF_COMMCTRL_BEGINDRAG = $4200; + MSGF_COMMCTRL_SIZEHEADER = $4201; + MSGF_COMMCTRL_DRAGSELECT = $4202; + + //Generic WM_NOTIFY notification codes + NM_FIRST = 0; + NM_LAST = -99; + //NM_OUTOFMEMORY = (NM_FIRST-1); + //NM_CLICK = (NM_FIRST-2); + //NM_DBLCLK = (NM_FIRST-3); + //NM_RETURN = (NM_FIRST-4); + //NM_RCLICK = (NM_FIRST-5); + //NM_RDBLCLK = (NM_FIRST-6); + //NM_SETFOCUS = (NM_FIRST-7); + //NM_KILLFOCUS = (NM_FIRST-8); + NM_CUSTOMDRAW = (NM_FIRST-12); + NM_HOVER = (NM_FIRST-13); + NM_NCHITTEST = (NM_FIRST-14); + NM_KEYDOWN = (NM_FIRST-15); + NM_RECOGNIZEGESTURE = (NM_FIRST-50); + + { Header control notifications } + HDN_BEGINTRACKW = HDN_FIRST-26; + HDN_DIVIDERDBLCLICKW = HDN_FIRST-25; + HDN_ENDTRACKW = HDN_FIRST-27; + HDN_ITEMCHANGEDW = HDN_FIRST-21; + HDN_ITEMCHANGINGW = HDN_FIRST-20; + HDN_ITEMCLICKW = HDN_FIRST-22; + HDN_ITEMDBLCLICKW = HDN_FIRST-23; + HDN_TRACKW = HDN_FIRST-28; + HDN_GETDISPINFOW = HDN_FIRST-29; + HDN_BEGINDRAG = HDN_FIRST-10; + HDN_ENDDRAG = HDN_FIRST-11; + + HDN_BEGINTRACK = HDN_BEGINTRACKW; + HDN_DIVIDERDBLCLICK = HDN_DIVIDERDBLCLICKW; + HDN_ENDTRACK = HDN_ENDTRACKW; + HDN_ITEMCHANGED = HDN_ITEMCHANGEDW; + HDN_ITEMCHANGING = HDN_ITEMCHANGINGW; + HDN_ITEMCLICK = HDN_ITEMCLICKW; + HDN_ITEMDBLCLICK = HDN_ITEMDBLCLICKW; + HDN_TRACK = HDN_TRACKW; + HDN_GETDISPINFO = HDN_GETDISPINFOW; + + // DATETIMEPICK CONTROL + DATETIMEPICK_CLASS ='SysDateTimePick32'; + DTM_FIRST = $1000; + DTM_GETSYSTEMTIME = DTM_FIRST + 1; + DTM_SETSYSTEMTIME = DTM_FIRST + 2; + DTM_GETRANGE = DTM_FIRST + 3; + DTM_SETRANGE = DTM_FIRST + 4; + DTM_SETFORMATA = DTM_FIRST + 5; + DTM_SETMCCOLOR = DTM_FIRST + 6; + DTM_GETMCCOLOR = DTM_FIRST + 7; + DTM_GETMONTHCAL = DTM_FIRST + 8; + DTM_SETMCFONT = DTM_FIRST + 9; + DTM_GETMCFONT = DTM_FIRST + 10; + DTM_SETFORMATW = DTM_FIRST + 50; + DTM_SETFORMAT = DTM_SETFORMATW; + + + DTS_UPDOWN = $0001; + DTS_SHOWNONE = $0002; + DTS_SHORTDATEFORMAT = $0000; + DTS_LONGDATEFORMAT = $0004; + DTS_SHORTDATECENTURYFORMAT = $000C; + DTS_TIMEFORMAT = $0009; + DTS_APPCANPARSE = $0010; + DTS_RIGHTALIGN = $0020; + DTS_NONEBUTTON = $0080; + + //datetimepick + DTN_FIRST =-760; + DTN_LAST =-799; + DTN_DATETIMECHANGE = DTN_FIRST + 1; + DTN_USERSTRINGA = DTN_FIRST + 2; + DTN_WMKEYDOWNA = DTN_FIRST + 3; + DTN_FORMATA = DTN_FIRST + 4; + DTN_FORMATQUERYA = DTN_FIRST + 5; + DTN_DROPDOWN = DTN_FIRST + 6; + DTN_CLOSEUP = DTN_FIRST + 7; + DTN_USERSTRINGW = DTN_FIRST + 15; + DTN_WMKEYDOWNW = DTN_FIRST + 16; + DTN_FORMATW = DTN_FIRST + 17; + DTN_FORMATQUERYW = DTN_FIRST + 18; + + DTN_USERSTRING = DTN_USERSTRINGW; + + GDTR_MIN = $0001; + GDTR_MAX = $0002; + + GDT_ERROR = -1; + GDT_VALID = 0; + GDT_NONE = 1; + + //TOOLBAR CONTROL + //TOOLBARCLASSNAMEW = 'ToolbarWindow32'; + //TOOLBARCLASSNAME = TOOLBARCLASSNAMEW; + + TBIF_IMAGE = $00000001; + TBIF_TEXT = $00000002; + TBIF_STATE = $00000004; + TBIF_STYLE = $00000008; + TBIF_LPARAM = $00000010; + TBIF_COMMAND = $00000020; + TBIF_SIZE = $00000040; + + // BUTTONINFO APIs + TB_GETBUTTONINFOW = (WM_USER + 63); + TB_SETBUTTONINFOW = (WM_USER + 64); + TB_GETBUTTONINFO = TB_GETBUTTONINFOW; + TB_SETBUTTONINFO = TB_SETBUTTONINFOW; + + TB_INSERTBUTTONW = (WM_USER + 67); + TB_ADDBUTTONSW = (WM_USER + 68); + TB_HITTEST = (WM_USER + 69); + + //TB_INSERTBUTTON = TB_INSERTBUTTONW; + //TB_ADDBUTTONS = TB_ADDBUTTONSW; + + TB_SETDRAWTEXTFLAGS = (WM_USER + 70); + + //TBN_GETBUTTONINFOW = (TBN_FIRST-20); + //TBN_BEGINDRAG = (TBN_FIRST-1); + //TBN_ENDDRAG = (TBN_FIRST-2); + TBN_DROPDOWN = (TBN_FIRST - 10); + TBN_DRAGOUT = (TBN_FIRST - 14); + //TBN_GETBUTTONINFO = TBN_GETBUTTONINFOW; + + // custom draw return flags + // values under 0x00010000 are reserved for global custom draw values. + // above that are for specific controls + CDRF_DODEFAULT = $00000000; + CDRF_NEWFONT = $00000002; + CDRF_SKIPDEFAULT = $00000004; + CDRF_NOTIFYPOSTPAINT = $00000010; + CDRF_NOTIFYITEMDRAW = $00000020; + CDRF_NOTIFYSUBITEMDRAW = $00000020; // flags are the same, we can distinguish by context + CDRF_NOTIFYPOSTERASE = $00000040; + + // drawstage flags + // values under = $00010000 are reserved for global custom draw values. + // above that are for specific controls + CDDS_PREPAINT = $00000001; + CDDS_POSTPAINT = $00000002; + CDDS_PREERASE = $00000003; + CDDS_POSTERASE = $00000004; + // the = $000010000 bit means it's individual item specific + CDDS_ITEM = $00010000; + CDDS_ITEMPREPAINT = CDDS_ITEM or CDDS_PREPAINT; + CDDS_ITEMPOSTPAINT = CDDS_ITEM or CDDS_POSTPAINT; + CDDS_ITEMPREERASE = CDDS_ITEM or CDDS_PREERASE; + CDDS_ITEMPOSTERASE = CDDS_ITEM or CDDS_POSTERASE; + CDDS_SUBITEM = $00020000; + + // Pocket PC special controls + WC_CAPEDIT = 'CAPEDIT'; + WC_TSTATIC = 'TTSTATIC'; + WC_TBUTTON = 'TTBUTTON'; + + // for FE, single byte character edit + WC_SBEDIT = 'sbedit'; + + // REBAR CONTROL + REBARCLASSNAME = 'ReBarWindow'; + + RBIM_IMAGELIST = $00000001; + RBS_VARHEIGHT = $0200; + RBS_BANDBORDERS = $0400; + RBS_FIXEDORDER = $0800; + RBS_SMARTLABELS = $1000; + RBS_AUTOSIZE = $2000; + RBS_VERTICALGRIPPER = $4000; { this always has the vertical gripper (default for horizontal mode) } + + RBBS_BREAK = $00000001; { break to new line } + RBBS_FIXEDSIZE = $00000002; { band can't be sized } + RBBS_CHILDEDGE = $00000004; { edge around top & bottom of child window } + RBBS_HIDDEN = $00000008; { don't show } + RBBS_NOVERT = $00000010; { don't show when vertical } + RBBS_FIXEDBMP = $00000020; { bitmap doesn't move during band resize } + RBBS_VARIABLEHEIGHT = $00000040; { allow autosizing of this child vertically } + RBBS_GRIPPERALWAYS = $00000080; { always show the gripper } + RBBS_NOGRIPPER = $00000100; { never show gripper for this band } + + RBBIM_STYLE = $00000001; + RBBIM_COLORS = $00000002; + RBBIM_TEXT = $00000004; + RBBIM_IMAGE = $00000008; + RBBIM_CHILD = $00000010; + RBBIM_CHILDSIZE = $00000020; + RBBIM_SIZE = $00000040; + RBBIM_BACKGROUND = $00000080; + RBBIM_ID = $00000100; + RBBIM_IDEALSIZE = $00000200; + RBBIM_LPARAM = $00000400; + + RB_DELETEBAND = WM_USER+2; + RB_GETBARINFO = WM_USER+3; + RB_SETBARINFO = WM_USER+4; + RB_SETPARENT = WM_USER+7; + RB_HITTEST = WM_USER+8; + RB_GETRECT = WM_USER+9; + RB_INSERTBANDW = WM_USER+10; + RB_SETBANDINFOW = WM_USER+11; + RB_GETBANDCOUNT = WM_USER+12; + RB_GETROWCOUNT = WM_USER+13; + RB_GETROWHEIGHT = WM_USER+14; + RB_IDTOINDEX = WM_USER+16; { wParam == id } + RB_SETBKCOLOR = WM_USER+19; { sets the default BK color } + RB_GETBKCOLOR = WM_USER+20; { defaults to CLR_NONE } + RB_SETTEXTCOLOR = WM_USER+21; + RB_GETTEXTCOLOR = WM_USER+22; { defaults to 0x00000000 } + RB_SIZETORECT = WM_USER+23; { resize the rebar/break bands and such to this rect (lparam) } + RB_INSERTBAND = RB_INSERTBANDW; + RB_SETBANDINFO = RB_SETBANDINFOW; + RB_BEGINDRAG = WM_USER+24; + RB_ENDDRAG = WM_USER+25; + RB_DRAGMOVE = WM_USER+26; + RB_GETBARHEIGHT = WM_USER+27; + RB_GETBANDINFOW = WM_USER+28; + RB_GETBANDINFO = RB_GETBANDINFOW; + RB_MINIMIZEBAND = WM_USER+30; + RB_MAXIMIZEBAND = WM_USER+31; + RB_GETBANDBORDERS = WM_USER+34; { returns in lparam = lprc the amount of edges added to band wparam } + RB_SHOWBAND = WM_USER+35; { show/hide band } + RB_MOVEBAND = WM_USER+36; + + RBN_HEIGHTCHANGE = RBN_FIRST-0; + RBN_LAYOUTCHANGED = RBN_FIRST-2; + RBN_AUTOSIZE = RBN_FIRST-3; + RBN_BEGINDRAG = RBN_FIRST-4; + RBN_ENDDRAG = RBN_FIRST-5; + + RBHT_NOWHERE = $0001; + RBHT_CAPTION = $0002; + RBHT_CLIENT = $0003; + RBHT_GRABBER = $0004; + +//***************************************************************************** +// types +//***************************************************************************** + +type + // DATETIMEPICK CONTROL + tagNMDATETIMECHANGE = record + nmhdr : NMHDR; + dwFlags : DWORD; + st : SYSTEMTIME; + end; + NMDATETIMECHANGE=tagNMDATETIMECHANGE; + TNMDATETIMECHANGE=tagNMDATETIMECHANGE; + LPNMDATETIMECHANGE=^tagNMDATETIMECHANGE; + + tagNMDATETIMESTRINGW = record + nmhdr : NMHDR; + pszUserString : LPCWSTR; + st : SYSTEMTIME; + dwFlags : DWORD; + end; + NMDATETIMESTRINGW=tagNMDATETIMESTRINGW; + TNMDATETIMESTRINGW=tagNMDATETIMESTRINGW; + LPNMDATETIMESTRINGW=^tagNMDATETIMESTRINGW; + NMDATETIMESTRING=tagNMDATETIMESTRINGW; + TNMDATETIMESTRING=tagNMDATETIMESTRINGW; + PNMDATETIMESTRING=^tagNMDATETIMESTRINGW; + + tagNMDATETIMEWMKEYDOWNA = record + nmhdr : NMHDR; + nVirtKey : integer; + pszFormat : LPCSTR; + st : SYSTEMTIME; + end; + NMDATETIMEWMKEYDOWNA=tagNMDATETIMEWMKEYDOWNA; + TNMDATETIMEWMKEYDOWNA=tagNMDATETIMEWMKEYDOWNA; + LPNMDATETIMEWMKEYDOWNA=^tagNMDATETIMEWMKEYDOWNA; + + tagNMDATETIMEWMKEYDOWNW = record + nmhdr : NMHDR; + nVirtKey : integer; + pszFormat : LPCWSTR; + st : SYSTEMTIME; + end; + NMDATETIMEWMKEYDOWNW=tagNMDATETIMEWMKEYDOWNW; + TNMDATETIMEWMKEYDOWNW=tagNMDATETIMEWMKEYDOWNW; + LPNMDATETIMEWMKEYDOWNW=^tagNMDATETIMEWMKEYDOWNW; + + + tagNMDATETIMEFORMATA = record + nmhdr : NMHDR; + pszFormat : LPCSTR; + st : SYSTEMTIME; + pszDisplay : LPCSTR; + szDisplay : Array[0..63] of CHAR; + end; + NMDATETIMEFORMATA=tagNMDATETIMEFORMATA; + TNMDATETIMEFORMATA=tagNMDATETIMEFORMATA; + LPNMDATETIMEFORMATA=^NMDATETIMEFORMATA; + + tagNMDATETIMEFORMATW = record + nmhdr : NMHDR; + pszFormat : LPCWSTR; + st : SYSTEMTIME; + pszDisplay : LPCWSTR; + szDisplay : Array[0..63] of WCHAR; + end; + NMDATETIMEFORMATW=tagNMDATETIMEFORMATW; + TNMDATETIMEFORMATW=tagNMDATETIMEFORMATW; + LPNMDATETIMEFORMATW=^NMDATETIMEFORMATW; + + + tagNMDATETIMEFORMATQUERYA = record + nmhdr : NMHDR; + pszFormat : LPCSTR; + szMax : SIZE; + end; + NMDATETIMEFORMATQUERYA=tagNMDATETIMEFORMATQUERYA; + TNMDATETIMEFORMATQUERYA=tagNMDATETIMEFORMATQUERYA; + LPNMDATETIMEFORMATQUERYA=^tagNMDATETIMEFORMATQUERYA; + + tagNMDATETIMEFORMATQUERYW = record + nmhdr : NMHDR; + pszFormat : LPCWSTR; + szMax : SIZE; + end; + NMDATETIMEFORMATQUERYW=tagNMDATETIMEFORMATQUERYW; + TNMDATETIMEFORMATQUERYW=tagNMDATETIMEFORMATQUERYW; + LPNMDATETIMEFORMATQUERYW=^tagNMDATETIMEFORMATQUERYW; + + //Generic structure for a key + tagNMKEY = Record + hdr : NMHDR; + wVKey : WORD; + flags : UINT; + end; + NMKEY=tagNMKEY; + LPNMKEY=^NMKEY; + + //Generic WM_NOTIFY notification structures + tagNMMOUSE = Record + hdr : NMHDR; + dwItemSpec : DWORD; + dwItemData : DWORD; + pt : POINT; + end; + NMMOUSE=tagNMMOUSE; + LPNMMOUSE=^NMMOUSE; + PNMMOUSE=^NMMOUSE; + NMCLICK=NMMOUSE; + LPNMCLICK=LPNMMOUSE; + + //TOOLBAR CONTROL + TBBUTTONINFOW = record + cbSize : UINT; + dwMask : DWORD; + idCommand : Longint; + iImage : Longint; + fsState : BYTE; + fsStyle : BYTE; + cx : WORD; + lParam : DWORD; + pszText : LPWSTR; + cchText : Longint; + end; + LPTBBUTTONINFOW=^TBBUTTONINFOW; + TBBUTTONINFO=TBBUTTONINFOW; + TTBButtonInfo=TBBUTTONINFO; + + tagNMCUSTOMDRAWINFO = packed record + hdr: TNMHdr; + dwDrawStage: DWORD; + hdc: HDC; + rc: TRect; + dwItemSpec: DWORD; + uItemState: UINT; + lItemlParam: LPARAM; + end; + PNMCustomDraw = ^TNMCustomDraw; + TNMCustomDraw = tagNMCUSTOMDRAWINFO; + + tagNMLVCUSTOMDRAW = packed record + nmcd: TNMCustomDraw; + clrText: COLORREF; + clrTextBk: COLORREF; + iSubItem: Integer; + end; + PNMLVCustomDraw = ^TNMLVCustomDraw; + TNMLVCustomDraw = tagNMLVCUSTOMDRAW; + + tagNMLVODSTATECHANGE = packed record + hdr: TNMHdr; + iFrom: Integer; + iTo: Integer; + uNewState: UINT; + uOldState: UINT; + end; + PNMLVODStateChange = ^TNMLVODStateChange; + TNMLVODStateChange = tagNMLVODSTATECHANGE; + + tagREBARINFO = record + cbSize : UINT; + fMask : UINT; + himl : HIMAGELIST; + end; + REBARINFO = tagREBARINFO; + LPREBARINFO = ^tagREBARINFO; + + tagREBARBANDINFOW = record + cbSize : UINT; + fMask : UINT; + fStyle : UINT; + clrFore : COLORREF; + clrBack : COLORREF; + lpText : LPWSTR; + cch : UINT; + iImage : longint; + hwndChild : HWND; + cxMinChild : UINT; + cyMinChild : UINT; + cx : UINT; + hbmBack : HBITMAP; + wID : UINT; + cyChild : UINT; + cyMaxChild : UINT; + cyIntegral : UINT; + cxIdeal : UINT; + lParam : LPARAM; + end; + REBARBANDINFOW = tagREBARBANDINFOW; + LPREBARBANDINFOW = ^tagREBARBANDINFOW; + LPCREBARBANDINFOW = REBARBANDINFOW; + REBARBANDINFO = REBARBANDINFOW; + LPREBARBANDINFO = LPREBARBANDINFOW; + LPCREBARBANDINFO = LPCREBARBANDINFOW; + + tagNMREBAR = record + hdr : NMHDR; + uBand : UINT; + wID : UINT; + cyChild : UINT; + cyBand : UINT; + end; + NMREBAR = tagNMREBAR; + LPNMREBAR = ^tagNMREBAR; + + tagNMRBAUTOSIZE = record + hdr : NMHDR; + fChanged : BOOL; + rcTarget : RECT; + rcActual : RECT; + end; + NMRBAUTOSIZE = tagNMRBAUTOSIZE; + LPNMRBAUTOSIZE = ^tagNMRBAUTOSIZE; + + _RB_HITTESTINFO = record + pt : POINT; + flags : UINT; + iBand : longint; + end; + RBHITTESTINFO = _RB_HITTESTINFO; + LPRBHITTESTINFO = ^_RB_HITTESTINFO; + + tagCOMMANDBANDSRESTOREINFO = record + cbSize : UINT; + wID : UINT; + fStyle : UINT; + cxRestored : UINT; + fMaximized : BOOL; + end; + COMMANDBANDSRESTOREINFO = tagCOMMANDBANDSRESTOREINFO; + LPCOMMANDBANDSRESTOREINFO = ^tagCOMMANDBANDSRESTOREINFO; + LPCCOMMANDBANDSRESTOREINFO = COMMANDBANDSRESTOREINFO; + +//***************************************************************************** +// functions +//***************************************************************************** + +function CreatePropertySheetPage(lppsp:LPCPROPSHEETPAGE):HPROPSHEETPAGE; external ComctlDLL name 'CreatePropertySheetPageW'; +function CreatePropertySheetPageW(lppsp:LPCPROPSHEETPAGE):HPROPSHEETPAGE; external ComctlDLL name 'CreatePropertySheetPageW'; +function CreateStatusWindow(style:LONG; lpszText:LPCWSTR; hwndParent:HWND; wID:UINT):HWND; external ComctlDll name 'CreateStatusWindowW'; +function CreateStatusWindowW(style:LONG; lpszText:LPCWSTR; hwndParent:HWND; wID:UINT):HWND; external ComctlDll name 'CreateStatusWindowW'; +function CreateToolbarEx(hwnd:HWND; ws:DWORD; wID:UINT; nBitmaps:longint; hBMInst:HINST;wBMID:UINT; lpButtons:LPCTBBUTTON; iNumButtons:longint; dxButton:longint; dyButton:longint;dxBitmap:longint; + dyBitmap:longint; uStructSize:UINT):HWND; external ComctlDLL name 'CreateToolbarEx'; +function CreateUpDownControl(dwStyle:DWORD; x:longint; y:longint; cx:longint; cy:longint;hParent:HWND; nID:longint; hInst:HINST; hBuddy:HWND; nUpper:longint;nLower:longint; nPos:longint):HWND; external ComctlDLL name 'CreateUpDownControl'; +function DestroyPropertySheetPage(hPSPage:HPROPSHEETPAGE):WINBOOL; external ComctlDLL name 'DestroyPropertySheetPage'; +procedure DrawStatusText(hDC:HDC; lprc:LPRECT; pszText:LPCWSTR; uFlags:UINT); external ComctlDLL name 'DrawStatusTextW'; +procedure DrawStatusTextW(hDC:HDC; lprc:LPRECT; pszText:LPCWSTR; uFlags:UINT); external ComctlDLL name 'DrawStatusTextW'; +procedure InitCommonControls; external ComctlDLL name 'InitCommonControls'; +function InitCommonControlsEx(_para1:LPINITCOMMONCONTROLSEX):WINBOOL; external ComctlDLL name 'InitCommonControlsEx'; +function PropertySheet(lppsph:LPCPROPSHEETHEADER):longint; external ComctlDll name 'PropertySheetW'; +function PropertySheetW(lppsph:LPCPROPSHEETHEADER):longint; external ComctlDll name 'PropertySheetW'; + +function CommandBands_AddAdornments(hwndCmdBands:HWND; hinst:THandle; dwFlags:DWORD; prbbi:LPREBARBANDINFO):BOOL;external ComctlDll name 'CommandBands_AddAdornments'; +function CommandBands_AddBands(hwndCmdBands:HWND; hinst:THandle; cBands:UINT; prbbi:LPREBARBANDINFO):BOOL;external ComctlDll name 'CommandBands_AddBands'; +function CommandBands_Create(hinst:THandle; hwndParent:HWND; wID:UINT; dwStyles:DWORD; himl:HIMAGELIST):HWND;external ComctlDll name 'CommandBands_Create'; +function CommandBands_GetCommandBar(hwndCmdBands:HWND; uBand:UINT):HWND;external ComctlDll name 'CommandBands_GetCommandBar'; +function CommandBands_GetRestoreInformation(hwndCmdBands:HWND; uBand:UINT; pcbri:LPCOMMANDBANDSRESTOREINFO):BOOL;external ComctlDll name 'CommandBands_GetRestoreInformation'; +function CommandBands_Show(hwndCmdBands:HWND; fShow:BOOL):BOOL;external ComctlDll name 'CommandBands_Show'; +function CommandBar_AddAdornments(hwndCB:HWND; dwFlags:DWORD; dwReserved:DWORD):BOOL;external ComctlDll name 'CommandBar_AddAdornments'; +function CommandBar_AddBitmap(hwndCB:HWND; hInst:THandle; idBitmap:longint; iNumImages:longint; iImageWidth:longint; iImageHeight:longint):longint;external ComctlDll name 'CommandBar_AddBitmap'; +function CommandBar_Create(hInst:THandle; hwndParent:HWND; idCmdBar:longint):HWND;external ComctlDll name 'CommandBar_Create'; +function CommandBar_DrawMenuBar(hwndCB:HWND; iButton:WORD):BOOL;external ComctlDll name 'CommandBar_DrawMenuBar'; +function CommandBar_GetMenu(hwndCB:HWND; iButton:WORD):HMENU;external ComctlDll name 'CommandBar_GetMenu'; +function CommandBar_Height(hwndCB:HWND):longint;external ComctlDll name 'CommandBar_Height'; +function CommandBar_InsertComboBox(hwndCB:HWND; THandle:THandle; iWidth:longint; dwStyle:UINT; idComboBox:WORD; iButton:WORD):HWND;external ComctlDll name 'CommandBar_InsertComboBox'; +function CommandBar_InsertMenubar(hwndCB:HWND; hInst:THandle; idMenu:WORD; iButton:WORD):BOOL;external ComctlDll name 'CommandBar_InsertMenubar'; +function CommandBar_InsertMenubarEx(hwndCB:HWND; hinst:THandle; pszMenu:LPTSTR; iButton:WORD):BOOL;external ComctlDll name 'CommandBar_InsertMenubarEx'; +function CommandBar_Show(hwndCB:HWND; fShow:BOOL):BOOL;external ComctlDll name 'CommandBar_Show'; +function IsCommandBarMessage(hwndCB:HWND; lpMsg:LPMSG):BOOL;external ComctlDll name 'IsCommandBarMessage'; +procedure CommandBar_Destroy(hwndCB : HWND); +function CommandBar_IsVisible(hwndCB : HWND) : BOOL; +function CommandBar_AddButtons(hwndCB : HWND; cbButtons : UINT; lpButtons : LPTBBUTTON) : BOOL; +function CommandBar_InsertButton(hwndCB : HWND; iButton : longint; lpButton : LPTBBUTTON) : BOOL; +function CommandBar_AddToolTips(hwndCB: HWND; cbToolTips : UINT; lpToolTipsStrings : LPTSTR) : BOOL; +function CommandBands_Height(hwndCmdBands : HWND) : UINT; +function CommandBands_IsVisible(hwndCmdBands : HWND) : BOOL; + +{$endif read_interface} + +{$ifdef read_implementation} + +procedure CommandBar_Destroy(hwndCB : HWND); +begin + DestroyWindow(hwndCB); +end; + +function CommandBar_IsVisible(hwndCB : HWND) : BOOL; +begin + CommandBar_IsVisible:=IsWindowVisible(hwndCB); +end; + +function CommandBar_AddButtons(hwndCB : HWND; cbButtons : UINT; lpButtons : LPTBBUTTON) : BOOL; +begin + CommandBar_AddButtons:=BOOL(SendMessage(hwndCB,TB_ADDBUTTONS,WPARAM(cbButtons),LPARAM(lpButtons))); +end; + +function CommandBar_InsertButton(hwndCB : HWND; iButton : longint; lpButton : LPTBBUTTON) : BOOL; +begin + CommandBar_InsertButton:=BOOL(SendMessage(hwndCB,TB_INSERTBUTTON,WPARAM(iButton),LPARAM(lpButton))); +end; + +function CommandBar_AddToolTips(hwndCB: HWND; cbToolTips : UINT; lpToolTipsStrings : LPTSTR) : BOOL; +begin + CommandBar_AddToolTips:=BOOL(SendMessage(hwndCB,TB_SETTOOLTIPS,WPARAM(cbToolTips),LPARAM(lpToolTipsStrings))); +end; + +function CommandBands_Height(hwndCmdBands : HWND) : UINT; +begin + CommandBands_Height:=UINT(SendMessage(hwndCmdBands,RB_GETBARHEIGHT,0,0)); +end; + +function CommandBands_IsVisible(hwndCmdBands : HWND) : BOOL; +begin + CommandBands_IsVisible:=IsWindowVisible(hwndCmdBands); +end; + +{$endif read_implementation} diff --git a/packages/winceunits/src/commdlg.inc b/packages/winceunits/src/commdlg.inc deleted file mode 100644 index c8552ae668..0000000000 --- a/packages/winceunits/src/commdlg.inc +++ /dev/null @@ -1,128 +0,0 @@ -{ - This file is part of the Free Pascal run time library. - Copyright (c) 2005 Free Pascal development team. - - See the file COPYING.FPC, included in this distribution, - for details about the copyright. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - **********************************************************************} - -{ Declarations for comdlg WinCE API - -} - -{$ifdef read_interface} - -//***************************************************************************** -// consts -//***************************************************************************** -const - ComdlgDLL = 'commdlg'; - - -//***************************************************************************** -// types -//***************************************************************************** - -//***************************************************************************** -// functions -//***************************************************************************** - -function ChooseColor(_para1:LPCHOOSECOLOR):WINBOOL; external ComdlgDLL name 'ChooseColor'; -function ChooseFont(_para1:LPCHOOSEFONTW):WINBOOL; external ComdlgDLL name 'ChooseFontW'; -function ChooseFontW(_para1:LPCHOOSEFONTW):WINBOOL; external ComdlgDLL name 'ChooseFontW'; -function CommDlgExtendedError : DWORD; external ComdlgDLL name 'CommDlgExtendedError'; -function CommDlg_OpenSave_GetFilePathA(_hdlg:HWND;_psz:LPSTR;_cbmax : longint) : LRESULT; -function CommDlg_OpenSave_GetFilePathW(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; -function CommDlg_OpenSave_GetFilePath(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; -function CommDlg_OpenSave_GetFolderPath(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; -function CommDlg_OpenSave_GetFolderPathA(_hdlg:HWND;_psz:LPSTR;_cbmax : longint) : LRESULT; -function CommDlg_OpenSave_GetFolderPathW(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; -function CommDlg_OpenSave_GetFolderIDList(_hdlg:HWND;_pidl:LPVOID;_cbmax : longint) : LRESULT; -function CommDlg_OpenSave_GetSpecA(_hdlg:HWND;_psz:LPSTR;_cbmax : longint) : LRESULT; -function CommDlg_OpenSave_GetSpecW(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; -function CommDlg_OpenSave_GetSpec(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; -function CommDlg_OpenSave_HideControl(_hdlg:HWND;_id : longint) : LRESULT; -function CommDlg_OpenSave_SetControlText(_hdlg:HWND;_id : longint;_text : LPSTR) : LRESULT; -function CommDlg_OpenSave_SetDefExt(_hdlg:HWND;_pszext : LPSTR) : LRESULT; -function PageSetupDlg(_para1:LPPAGESETUPDLGW):WINBOOL; external ComdlgDLL name 'PageSetupDlgW'; -function PageSetupDlgW(_para1:LPPAGESETUPDLGW):WINBOOL; external ComdlgDLL name 'PageSetupDlgW'; -function PrintDlg(_para1:LPPRINTDLG):WINBOOL; external ComdlgDLL name 'PrintDlg'; - - -{$endif read_interface} - -{$ifdef read_implementation} - -function CommDlg_OpenSave_GetSpecA(_hdlg:HWND;_psz:LPSTR;_cbmax : longint) : LRESULT; -begin - CommDlg_OpenSave_GetSpecA:=SNDMSG(_hdlg,CDM_GETSPEC,WPARAM(_cbmax),LPARAM(_psz)); -end; - -function CommDlg_OpenSave_GetSpecW(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; -begin - CommDlg_OpenSave_GetSpecW:=SNDMSG(_hdlg,CDM_GETSPEC,WPARAM(_cbmax),LPARAM(_psz)); -end; - -function CommDlg_OpenSave_GetFilePathA(_hdlg:HWND;_psz:LPSTR;_cbmax : longint) : LRESULT; -begin - CommDlg_OpenSave_GetFilePathA:=SNDMSG(_hdlg,CDM_GETFILEPATH,WPARAM(_cbmax),LPARAM(_psz)); -end; - -function CommDlg_OpenSave_GetFilePathW(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; -begin - CommDlg_OpenSave_GetFilePathW:=SNDMSG(_hdlg,CDM_GETFILEPATH,WPARAM(_cbmax),LPARAM(LPWSTR(_psz))); -end; - -function CommDlg_OpenSave_GetFolderPathA(_hdlg:HWND;_psz:LPSTR;_cbmax : longint) : LRESULT; -begin - CommDlg_OpenSave_GetFolderPathA:=SNDMSG(_hdlg,CDM_GETFOLDERPATH,WPARAM(_cbmax),LPARAM(LPSTR(_psz))); -end; - -function CommDlg_OpenSave_GetFolderPathW(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; -begin - CommDlg_OpenSave_GetFolderPathW:=SNDMSG(_hdlg,CDM_GETFOLDERPATH,WPARAM(_cbmax),LPARAM(LPWSTR(_psz))); -end; - -function CommDlg_OpenSave_GetFolderIDList(_hdlg:HWND;_pidl:LPVOID;_cbmax : longint) : LRESULT; -begin - CommDlg_OpenSave_GetFolderIDList:=SNDMSG(_hdlg,CDM_GETFOLDERIDLIST,WPARAM(_cbmax),LPARAM(_pidl)); -end; - -function CommDlg_OpenSave_GetFolderPath(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; -begin - CommDlg_OpenSave_GetFolderPath:=SNDMSG(_hdlg,CDM_GETFOLDERPATH,WPARAM(_cbmax),LPARAM(LPWSTR(_psz))); -end; - -function CommDlg_OpenSave_GetFilePath(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; -begin - CommDlg_OpenSave_GetFilePath:=SNDMSG(_hdlg,CDM_GETFILEPATH,WPARAM(_cbmax),LPARAM(_psz)); -end; - -function CommDlg_OpenSave_GetSpec(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; -begin - CommDlg_OpenSave_GetSpec:=SNDMSG(_hdlg,CDM_GETSPEC,WPARAM(_cbmax),LPARAM(_psz)); -end; - -function CommDlg_OpenSave_SetControlText(_hdlg:HWND;_id : longint;_text : LPSTR) : LRESULT; -begin - CommDlg_OpenSave_SetControlText:=SNDMSG(_hdlg,CDM_SETCONTROLTEXT,WPARAM(_id),LPARAM(_text)); -end; - -function CommDlg_OpenSave_HideControl(_hdlg:HWND;_id : longint) : LRESULT; -begin - CommDlg_OpenSave_HideControl:=SNDMSG(_hdlg,CDM_HIDECONTROL,WPARAM(_id),0); -end; - -function CommDlg_OpenSave_SetDefExt(_hdlg:HWND;_pszext : LPSTR) : LRESULT; -begin - CommDlg_OpenSave_SetDefExt:=SNDMSG(_hdlg,CDM_SETDEFEXT,0,LPARAM(_pszext)); -end; - -{$endif read_implementation} - - diff --git a/packages/winceunits/src/commdlg.pp b/packages/winceunits/src/commdlg.pp new file mode 100644 index 0000000000..c8552ae668 --- /dev/null +++ b/packages/winceunits/src/commdlg.pp @@ -0,0 +1,128 @@ +{ + This file is part of the Free Pascal run time library. + Copyright (c) 2005 Free Pascal development team. + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + +{ Declarations for comdlg WinCE API + +} + +{$ifdef read_interface} + +//***************************************************************************** +// consts +//***************************************************************************** +const + ComdlgDLL = 'commdlg'; + + +//***************************************************************************** +// types +//***************************************************************************** + +//***************************************************************************** +// functions +//***************************************************************************** + +function ChooseColor(_para1:LPCHOOSECOLOR):WINBOOL; external ComdlgDLL name 'ChooseColor'; +function ChooseFont(_para1:LPCHOOSEFONTW):WINBOOL; external ComdlgDLL name 'ChooseFontW'; +function ChooseFontW(_para1:LPCHOOSEFONTW):WINBOOL; external ComdlgDLL name 'ChooseFontW'; +function CommDlgExtendedError : DWORD; external ComdlgDLL name 'CommDlgExtendedError'; +function CommDlg_OpenSave_GetFilePathA(_hdlg:HWND;_psz:LPSTR;_cbmax : longint) : LRESULT; +function CommDlg_OpenSave_GetFilePathW(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; +function CommDlg_OpenSave_GetFilePath(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; +function CommDlg_OpenSave_GetFolderPath(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; +function CommDlg_OpenSave_GetFolderPathA(_hdlg:HWND;_psz:LPSTR;_cbmax : longint) : LRESULT; +function CommDlg_OpenSave_GetFolderPathW(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; +function CommDlg_OpenSave_GetFolderIDList(_hdlg:HWND;_pidl:LPVOID;_cbmax : longint) : LRESULT; +function CommDlg_OpenSave_GetSpecA(_hdlg:HWND;_psz:LPSTR;_cbmax : longint) : LRESULT; +function CommDlg_OpenSave_GetSpecW(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; +function CommDlg_OpenSave_GetSpec(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; +function CommDlg_OpenSave_HideControl(_hdlg:HWND;_id : longint) : LRESULT; +function CommDlg_OpenSave_SetControlText(_hdlg:HWND;_id : longint;_text : LPSTR) : LRESULT; +function CommDlg_OpenSave_SetDefExt(_hdlg:HWND;_pszext : LPSTR) : LRESULT; +function PageSetupDlg(_para1:LPPAGESETUPDLGW):WINBOOL; external ComdlgDLL name 'PageSetupDlgW'; +function PageSetupDlgW(_para1:LPPAGESETUPDLGW):WINBOOL; external ComdlgDLL name 'PageSetupDlgW'; +function PrintDlg(_para1:LPPRINTDLG):WINBOOL; external ComdlgDLL name 'PrintDlg'; + + +{$endif read_interface} + +{$ifdef read_implementation} + +function CommDlg_OpenSave_GetSpecA(_hdlg:HWND;_psz:LPSTR;_cbmax : longint) : LRESULT; +begin + CommDlg_OpenSave_GetSpecA:=SNDMSG(_hdlg,CDM_GETSPEC,WPARAM(_cbmax),LPARAM(_psz)); +end; + +function CommDlg_OpenSave_GetSpecW(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; +begin + CommDlg_OpenSave_GetSpecW:=SNDMSG(_hdlg,CDM_GETSPEC,WPARAM(_cbmax),LPARAM(_psz)); +end; + +function CommDlg_OpenSave_GetFilePathA(_hdlg:HWND;_psz:LPSTR;_cbmax : longint) : LRESULT; +begin + CommDlg_OpenSave_GetFilePathA:=SNDMSG(_hdlg,CDM_GETFILEPATH,WPARAM(_cbmax),LPARAM(_psz)); +end; + +function CommDlg_OpenSave_GetFilePathW(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; +begin + CommDlg_OpenSave_GetFilePathW:=SNDMSG(_hdlg,CDM_GETFILEPATH,WPARAM(_cbmax),LPARAM(LPWSTR(_psz))); +end; + +function CommDlg_OpenSave_GetFolderPathA(_hdlg:HWND;_psz:LPSTR;_cbmax : longint) : LRESULT; +begin + CommDlg_OpenSave_GetFolderPathA:=SNDMSG(_hdlg,CDM_GETFOLDERPATH,WPARAM(_cbmax),LPARAM(LPSTR(_psz))); +end; + +function CommDlg_OpenSave_GetFolderPathW(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; +begin + CommDlg_OpenSave_GetFolderPathW:=SNDMSG(_hdlg,CDM_GETFOLDERPATH,WPARAM(_cbmax),LPARAM(LPWSTR(_psz))); +end; + +function CommDlg_OpenSave_GetFolderIDList(_hdlg:HWND;_pidl:LPVOID;_cbmax : longint) : LRESULT; +begin + CommDlg_OpenSave_GetFolderIDList:=SNDMSG(_hdlg,CDM_GETFOLDERIDLIST,WPARAM(_cbmax),LPARAM(_pidl)); +end; + +function CommDlg_OpenSave_GetFolderPath(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; +begin + CommDlg_OpenSave_GetFolderPath:=SNDMSG(_hdlg,CDM_GETFOLDERPATH,WPARAM(_cbmax),LPARAM(LPWSTR(_psz))); +end; + +function CommDlg_OpenSave_GetFilePath(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; +begin + CommDlg_OpenSave_GetFilePath:=SNDMSG(_hdlg,CDM_GETFILEPATH,WPARAM(_cbmax),LPARAM(_psz)); +end; + +function CommDlg_OpenSave_GetSpec(_hdlg:HWND;_psz:LPWSTR;_cbmax : longint) : LRESULT; +begin + CommDlg_OpenSave_GetSpec:=SNDMSG(_hdlg,CDM_GETSPEC,WPARAM(_cbmax),LPARAM(_psz)); +end; + +function CommDlg_OpenSave_SetControlText(_hdlg:HWND;_id : longint;_text : LPSTR) : LRESULT; +begin + CommDlg_OpenSave_SetControlText:=SNDMSG(_hdlg,CDM_SETCONTROLTEXT,WPARAM(_id),LPARAM(_text)); +end; + +function CommDlg_OpenSave_HideControl(_hdlg:HWND;_id : longint) : LRESULT; +begin + CommDlg_OpenSave_HideControl:=SNDMSG(_hdlg,CDM_HIDECONTROL,WPARAM(_id),0); +end; + +function CommDlg_OpenSave_SetDefExt(_hdlg:HWND;_pszext : LPSTR) : LRESULT; +begin + CommDlg_OpenSave_SetDefExt:=SNDMSG(_hdlg,CDM_SETDEFEXT,0,LPARAM(_pszext)); +end; + +{$endif read_implementation} + + diff --git a/packages/winceunits/src/iphlpapi.inc b/packages/winceunits/src/iphlpapi.inc deleted file mode 100644 index 9a7e307823..0000000000 --- a/packages/winceunits/src/iphlpapi.inc +++ /dev/null @@ -1,173 +0,0 @@ -{ - This file is part of the Free Pascal run time library. - Copyright (c) 2006 Free Pascal development team. - - See the file COPYING.FPC, included in this distribution, - for details about the copyright. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - **********************************************************************} - -{exported functions list = to do, - * please remove functions done * - ordinal name - - AddIPAddress - AllocateAndGetIfTableFromStack - AllocateAndGetIpAddrTableFromStack - CreateIpForwardEntry - CreateIpNetEntry - CreateProxyArpEntry - DeleteIPAddress - DeleteIpForwardEntry - DeleteIpNetEntry - DeleteProxyArpEntry - DllEntry - EnableRouter - FlushIpNetTable - GetAdapterIndex - GetAdapterOrderMap - GetAdaptersAddresses - GetBestInterface - GetBestInterfaceEx - GetBestRoute - GetFriendlyIfIndex - GetIcmpStatistics - GetIcmpStatisticsEx - GetIfEntry - GetIfTable - GetInterfaceInfo - GetIpAddrTable - GetIpForwardTable - GetIpNetTable - GetIpStatistics - GetIpStatisticsEx - GetNetworkParams - GetPerAdapterInfo - GetRTTAndHopCount - GetTcpStatistics - GetTcpStatisticsEx - GetTcpTable - GetUdpStatistics - GetUdpStatisticsEx - GetUdpTable - GetUniDirectionalAdapterInfo - Icmp6CreateFile - Icmp6ParseReplies - Icmp6SendEcho2 - IcmpCloseHandle - IcmpCreateFile - IcmpParseReplies - IcmpSendEcho - IcmpSendEcho2 - IpReleaseAddress - IpRenewAddress - IsLocalAddress - NotifyAddrChange - NotifyRouteChange - SendARP - SetIfEntry - SetIpForwardEntry - SetIpNetEntry - SetIpStatistics - SetIpTTL - SetTcpEntry - UnenableRouter -} - -{$ifdef read_interface} - -//***************************************************************************** -// consts -//***************************************************************************** -const - IpHlpApiDLL = 'iphlpapi'; - - //dwForwardProto types - PROTO_IP_OTHER = 1; - PROTO_IP_LOCAL = 2; - PROTO_IP_NETMGMT = 3; - PROTO_IP_ICMP = 4; - - // Definitions and structures used by getnetworkparams and getadaptersinfo apis - MAX_ADAPTER_DESCRIPTION_LENGTH = 128; - MAX_ADAPTER_NAME_LENGTH = 256; - MAX_ADAPTER_ADDRESS_LENGTH = 8 ; - DEFAULT_MINIMUM_ENTITIES = 32 ; - MAX_HOSTNAME_LEN = 128; - MAX_DOMAIN_NAME_LEN = 128; - MAX_SCOPE_ID_LEN = 256; - - // Node Type - - BROADCAST_NODETYPE =1; - PEER_TO_PEER_NODETYPE =2; - MIXED_NODETYPE =4; - HYBRID_NODETYPE =8; - -//***************************************************************************** -// types -//***************************************************************************** - -type - // IP_ADDRESS_STRING - IP_ADDRESS_STRING = Array[0..3,0..3] of Char; - TIP_ADDRESS_STRING = IP_ADDRESS_STRING; - IP_MASK_STRING = IP_ADDRESS_STRING; - TIP_MASK_STRING = IP_ADDRESS_STRING; - PIP_ADDRESS_STRING = ^IP_ADDRESS_STRING; - PIP_MASK_STRING = PIP_ADDRESS_STRING; - - // IP_ADDR_STRING - PIP_ADDR_STRING = ^_IP_ADDR_STRING; - _IP_ADDR_STRING = Record - Next : PIP_ADDR_STRING; - IpAddress : IP_ADDRESS_STRING; - IpMask : IP_MASK_STRING; - Context : DWORD; - end; - IP_ADDR_STRING = _IP_ADDR_STRING; - TIP_ADDR_STRING = IP_ADDR_STRING; - - // ADAPTER_INFO - PIP_ADAPTER_INFO = ^_IP_ADAPTER_INFO; - _IP_ADAPTER_INFO = Record - Next : PIP_ADAPTER_INFO; - ComboIndex : DWORD; - AdapterName : Array[0..MAX_ADAPTER_NAME_LENGTH + 3] of Char; - Description : Array[0..MAX_ADAPTER_DESCRIPTION_LENGTH + 3] of Char; - AddressLength : UINT; - Address : Array [0..MAX_ADAPTER_ADDRESS_LENGTH-1] of Byte; - Index : DWORD; - aType : UINT; - DhcpEnabled : UINT; - CurrentIpAddress : PIP_ADDR_STRING; - IpAddressList : IP_ADDR_STRING; - GatewayList : IP_ADDR_STRING; - DhcpServer : IP_ADDR_STRING; - HaveWins : BOOL; - PrimaryWinsServer : IP_ADDR_STRING; - SecondaryWinsServer : IP_ADDR_STRING; - LeaseObtained : time_t; - LeaseExpires : time_t; - end; - IP_ADAPTER_INFO = _IP_ADAPTER_INFO; - TIP_ADAPTER_INFO = _IP_ADAPTER_INFO; - -//***************************************************************************** -// functions -//***************************************************************************** - -function GetNumberOfInterfaces(var dwNumIf : DWORD): DWORD; external IpHlpApiDLL name 'GetNumberOfInterfaces'; -function GetAdaptersInfo( pAdapterInfo : PIP_ADAPTER_INFO; var OutBufLen : ULONG): DWORD; external IpHlpApiDLL name 'GetAdaptersInfo'; - -{$endif read_interface} - -{$ifdef read_implementation} - -{$endif read_implementation} - - diff --git a/packages/winceunits/src/iphlpapi.pp b/packages/winceunits/src/iphlpapi.pp new file mode 100644 index 0000000000..9a7e307823 --- /dev/null +++ b/packages/winceunits/src/iphlpapi.pp @@ -0,0 +1,173 @@ +{ + This file is part of the Free Pascal run time library. + Copyright (c) 2006 Free Pascal development team. + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + +{exported functions list = to do, + * please remove functions done * + ordinal name + + AddIPAddress + AllocateAndGetIfTableFromStack + AllocateAndGetIpAddrTableFromStack + CreateIpForwardEntry + CreateIpNetEntry + CreateProxyArpEntry + DeleteIPAddress + DeleteIpForwardEntry + DeleteIpNetEntry + DeleteProxyArpEntry + DllEntry + EnableRouter + FlushIpNetTable + GetAdapterIndex + GetAdapterOrderMap + GetAdaptersAddresses + GetBestInterface + GetBestInterfaceEx + GetBestRoute + GetFriendlyIfIndex + GetIcmpStatistics + GetIcmpStatisticsEx + GetIfEntry + GetIfTable + GetInterfaceInfo + GetIpAddrTable + GetIpForwardTable + GetIpNetTable + GetIpStatistics + GetIpStatisticsEx + GetNetworkParams + GetPerAdapterInfo + GetRTTAndHopCount + GetTcpStatistics + GetTcpStatisticsEx + GetTcpTable + GetUdpStatistics + GetUdpStatisticsEx + GetUdpTable + GetUniDirectionalAdapterInfo + Icmp6CreateFile + Icmp6ParseReplies + Icmp6SendEcho2 + IcmpCloseHandle + IcmpCreateFile + IcmpParseReplies + IcmpSendEcho + IcmpSendEcho2 + IpReleaseAddress + IpRenewAddress + IsLocalAddress + NotifyAddrChange + NotifyRouteChange + SendARP + SetIfEntry + SetIpForwardEntry + SetIpNetEntry + SetIpStatistics + SetIpTTL + SetTcpEntry + UnenableRouter +} + +{$ifdef read_interface} + +//***************************************************************************** +// consts +//***************************************************************************** +const + IpHlpApiDLL = 'iphlpapi'; + + //dwForwardProto types + PROTO_IP_OTHER = 1; + PROTO_IP_LOCAL = 2; + PROTO_IP_NETMGMT = 3; + PROTO_IP_ICMP = 4; + + // Definitions and structures used by getnetworkparams and getadaptersinfo apis + MAX_ADAPTER_DESCRIPTION_LENGTH = 128; + MAX_ADAPTER_NAME_LENGTH = 256; + MAX_ADAPTER_ADDRESS_LENGTH = 8 ; + DEFAULT_MINIMUM_ENTITIES = 32 ; + MAX_HOSTNAME_LEN = 128; + MAX_DOMAIN_NAME_LEN = 128; + MAX_SCOPE_ID_LEN = 256; + + // Node Type + + BROADCAST_NODETYPE =1; + PEER_TO_PEER_NODETYPE =2; + MIXED_NODETYPE =4; + HYBRID_NODETYPE =8; + +//***************************************************************************** +// types +//***************************************************************************** + +type + // IP_ADDRESS_STRING + IP_ADDRESS_STRING = Array[0..3,0..3] of Char; + TIP_ADDRESS_STRING = IP_ADDRESS_STRING; + IP_MASK_STRING = IP_ADDRESS_STRING; + TIP_MASK_STRING = IP_ADDRESS_STRING; + PIP_ADDRESS_STRING = ^IP_ADDRESS_STRING; + PIP_MASK_STRING = PIP_ADDRESS_STRING; + + // IP_ADDR_STRING + PIP_ADDR_STRING = ^_IP_ADDR_STRING; + _IP_ADDR_STRING = Record + Next : PIP_ADDR_STRING; + IpAddress : IP_ADDRESS_STRING; + IpMask : IP_MASK_STRING; + Context : DWORD; + end; + IP_ADDR_STRING = _IP_ADDR_STRING; + TIP_ADDR_STRING = IP_ADDR_STRING; + + // ADAPTER_INFO + PIP_ADAPTER_INFO = ^_IP_ADAPTER_INFO; + _IP_ADAPTER_INFO = Record + Next : PIP_ADAPTER_INFO; + ComboIndex : DWORD; + AdapterName : Array[0..MAX_ADAPTER_NAME_LENGTH + 3] of Char; + Description : Array[0..MAX_ADAPTER_DESCRIPTION_LENGTH + 3] of Char; + AddressLength : UINT; + Address : Array [0..MAX_ADAPTER_ADDRESS_LENGTH-1] of Byte; + Index : DWORD; + aType : UINT; + DhcpEnabled : UINT; + CurrentIpAddress : PIP_ADDR_STRING; + IpAddressList : IP_ADDR_STRING; + GatewayList : IP_ADDR_STRING; + DhcpServer : IP_ADDR_STRING; + HaveWins : BOOL; + PrimaryWinsServer : IP_ADDR_STRING; + SecondaryWinsServer : IP_ADDR_STRING; + LeaseObtained : time_t; + LeaseExpires : time_t; + end; + IP_ADAPTER_INFO = _IP_ADAPTER_INFO; + TIP_ADAPTER_INFO = _IP_ADAPTER_INFO; + +//***************************************************************************** +// functions +//***************************************************************************** + +function GetNumberOfInterfaces(var dwNumIf : DWORD): DWORD; external IpHlpApiDLL name 'GetNumberOfInterfaces'; +function GetAdaptersInfo( pAdapterInfo : PIP_ADAPTER_INFO; var OutBufLen : ULONG): DWORD; external IpHlpApiDLL name 'GetAdaptersInfo'; + +{$endif read_interface} + +{$ifdef read_implementation} + +{$endif read_implementation} + + diff --git a/packages/winceunits/src/notify.inc b/packages/winceunits/src/notify.inc deleted file mode 100644 index 9fbbb4c2ec..0000000000 --- a/packages/winceunits/src/notify.inc +++ /dev/null @@ -1,198 +0,0 @@ -{ - This file is part of the Free Pascal run time library. - Copyright (c) 2007 Free Pascal development team. - - See the file COPYING.FPC, included in this distribution, - for details about the copyright. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - ********************************************************************** - - Automatically converted by H2Pas 1.0.0 from notify.h - The following command line parameters were used: - -d - -c - -w - notify.h -} - -{$ifdef read_interface} - -const - NOTIFICATION_EVENT_NONE = 0; - NOTIFICATION_EVENT_TIME_CHANGE = 1; - NOTIFICATION_EVENT_SYNC_END = 2; - NOTIFICATION_EVENT_ON_AC_POWER = 3; - NOTIFICATION_EVENT_OFF_AC_POWER = 4; - NOTIFICATION_EVENT_NET_CONNECT = 5; - NOTIFICATION_EVENT_NET_DISCONNECT = 6; - NOTIFICATION_EVENT_DEVICE_CHANGE = 7; - NOTIFICATION_EVENT_IR_DISCOVERED = 8; - NOTIFICATION_EVENT_RS232_DETECTED = 9; - NOTIFICATION_EVENT_RESTORE_END = 10; - NOTIFICATION_EVENT_WAKEUP = 11; - NOTIFICATION_EVENT_TZ_CHANGE = 12; - NOTIFICATION_EVENT_MACHINE_NAME_CHANGE = 13; - NOTIFICATION_EVENT_LAST = NOTIFICATION_EVENT_MACHINE_NAME_CHANGE; -{ - * String passed on the command line when an app is run as the result - * of a call to CeRunAppAtTime(). - } - APP_RUN_AT_TIME = 'AppRunAtTime'; -{ - * Prefix of the command line when the user requests to run the application - * that "owns" a notification. It is followed by a space, and the - * stringized version of the notification handle. - } - APP_RUN_TO_HANDLE_NOTIFICATION = 'AppRunToHandleNotification'; -{ - * Strings passed on the command line when an event occurs that the - * app has requested via CeRunAppAtEvent. Note that some of these - * strings will be used as the command line *prefix*, since the rest - * of the command line will be used as a parameter. - } - APP_RUN_AFTER_TIME_CHANGE = 'AppRunAfterTimeChange'; - APP_RUN_AFTER_SYNC = 'AppRunAfterSync'; - APP_RUN_AT_AC_POWER_ON = 'AppRunAtAcPowerOn'; - APP_RUN_AT_AC_POWER_OFF = 'AppRunAtAcPowerOff'; - APP_RUN_AT_NET_CONNECT = 'AppRunAtNetConnect'; - APP_RUN_AT_NET_DISCONNECT = 'AppRunAtNetDisconnect'; - APP_RUN_AT_DEVICE_CHANGE = 'AppRunDeviceChange'; - APP_RUN_AT_IR_DISCOVERY = 'AppRunAtIrDiscovery'; - APP_RUN_AT_RS232_DETECT = 'AppRunAtRs232Detect'; - APP_RUN_AFTER_RESTORE = 'AppRunAfterRestore'; - APP_RUN_AFTER_WAKEUP = 'AppRunAfterWakeup'; - APP_RUN_AFTER_TZ_CHANGE = 'AppRunAfterTzChange'; - APP_RUN_AFTER_EXTENDED_EVENT = 'AppRunAfterExtendedEvent'; -{ - * Strings passed on the end of the command line for the event, - * NOTIFICATION_EVENT_DEVICE_CHANGE. The general form will be - * "/op devicename" for instance "/ADD COM2:" - } - NOTIFY_DEVICE_ADD = '/ADD'; - NOTIFY_DEVICE_REMOVE = '/REMOVE'; -{ - * @struct CE_USER_NOTIFICATION | User Notification Structure - * - * @comm This structure is passed in to . - * Initial settings are used to populate the dialog. If the function - * returns TRUE, the returned settings should be saved, and considered when - * calling . Settings for hardware not on the - * current device will be ignored. - * - * It is also used when calling , to describe - * what should happen when the notification time is reached. - } -{ PUN_* flags. Flags not valid on a given } -{ hardware platform will be ignored. } - PUN_LED = 1; {@flag PUN_LED | LED flag. Set if the LED should be } -{ flashed when the notification occurs. } - PUN_VIBRATE = 2; {@flag PUN_VIBRATE | Vibrate flag. Set if the device should } -{ be vibrated. } - PUN_DIALOG = 4; {@flag PUN_DIALOG | Dialog flag. Set if a dialog should be } -{ displayed (the app must provide title and text } -{ when calling ). } - PUN_SOUND = 8; {@flag PUN_SOUND | Sound flag. Set if the sound specified } -{ in pwszSound should be played. } - PUN_REPEAT = 16; {@flag PUN_REPEAT | Sound repeat flag. Set if the sound } -{ specified in pwszSound should be repeated progressively. } - PUN_PRIVATE = 32; {@flag PUN_PRIVATE | Dialog box z-order flag. Set if the } -{ notification dialog box should come up behind the password. } -{@field Action Flags. Any combination of the } -{@field Dialog Title. Required if PUN_DIALOG is set, ignored } -{ otherwise. Ignored by CeGetUserNotificationPreferences(). } -{@field Dialog Text. Required if PUN_DIALOG is set, ignored } -{ otherwise. Ignored by CeGetUserNotificationPreferences(). } -{@field Sound string as supplied to sndPlaySound. } -{ CeSetUserNotification() ignores it if PUN_SOUND is not set. } -{@field Max Sound string length. Specifies the } -{ maximum length of the string that can be copied } -{ into the pwszSound buffer by } -{ CeGetUserNotificationPreferences(). } -{ Should be at least MAX_PATH * sizeof(TCHAR). } -{ Ignored by CeSetUserNotification(). } -{ union } -{@field Reserved. Must be NULL or a pointer to } -{ platform-defined expansion structure. } -{ The first dword of the structure } -{ indicates the size of the structure. } -{ void *pExpansion; } -{ ; } -type - UserNotificationType = record - ActionFlags : DWORD; - pwszDialogTitle : ^TCHAR; - pwszDialogText : ^TCHAR; - pwszSound : ^TCHAR; - nMaxSound : DWORD; - dwReserved : DWORD; - end; - CE_USER_NOTIFICATION = UserNotificationType; - PCE_USER_NOTIFICATION = ^UserNotificationType; - -const - CNT_EVENT = 1; {@flag CNT_EVENT | System event notification } - CNT_TIME = 2; {@flag CNT_TIME | Time-based notification } - CNT_PERIOD = 3; {@flag CNT_PERIOD | Time-based notification is active for } -{ time period between stStart and stEnd } - CNT_CLASSICTIME = 4; {@flag CNT_CLASSICTIME | equivalent to using (obsolete) } -{ CeSetUserNotification function - standard command line is } -{ supplied. lpszArguments must be NULL } -{@field dwType Notification type } -{@field dwEvent - type of event if dwType == CNT_EVENT } -{@field lpszApplication - name of application to execute } -{@field lpszArguments - command line (sans app name) } -{@field stStartTime - begin of notification period } -{@field stEndTime - end of notification period } -type - UserNotificationTrigger = record - dwSize : DWORD; - dwType : DWORD; - dwEvent : DWORD; - lpszApplication : ^TCHAR; - lpszArguments : ^TCHAR; - stStartTime : SYSTEMTIME; - stEndTime : SYSTEMTIME; - end; - CE_NOTIFICATION_TRIGGER = UserNotificationTrigger; - PCE_NOTIFICATION_TRIGGER = ^UserNotificationTrigger; -{ } -{ Application name can be prefixed with the following strings to specify different } -{ named objects rather than an application. The action varies depending on the prefix. } -{ In case of named event, the event gets signaled. } -{ } - -const - NAMED_EVENT_PREFIX_TEXT = '\\.\Notifications\NamedEvents\'; - NAMED_EVENT_PREFIX_LEN = 30; - CNS_SIGNALLED = 1; - -type - UserNotificationInfoHeader = record - hNotification : HANDLE; - dwStatus : DWORD; - pcent : ^CE_NOTIFICATION_TRIGGER; - pceun : ^CE_USER_NOTIFICATION; - end; - CE_NOTIFICATION_INFO_HEADER = UserNotificationInfoHeader; - PCE_NOTIFICATION_INFO_HEADER = ^UserNotificationInfoHeader; -{ Declarations of User Notification APIs. } -{ C++ extern C conditionnal removed } -{__cplusplus } -{ @CESYSGEN IF GWES_NOTIFY } - -function CeGetUserNotificationPreferences(hWndParent:HWND; lpNotification:PCE_USER_NOTIFICATION):BOOL;external KernelDLL name 'CeGetUserNotificationPreferences'; -function CeSetUserNotificationEx(hNotification:HANDLE; pcnt:PCE_NOTIFICATION_TRIGGER; pceun:PCE_USER_NOTIFICATION):HANDLE;external KernelDLL name 'CeSetUserNotificationEx'; -function CeClearUserNotification(hNotification:HANDLE):BOOL;external KernelDLL name 'CeClearUserNotification'; -function CeGetUserNotification(hNotification:HANDLE; cBufferSize:DWORD; pcBytesNeeded:LPDWORD; pBuffer:LPBYTE):BOOL;external KernelDLL name 'CeGetUserNotification'; -function CeGetUserNotificationHandles(rghNotifications:PHANDLE; cHandles:DWORD; pcHandlesNeeded:LPDWORD):BOOL;external KernelDLL name 'CeGetUserNotificationHandles'; -{ Obsolete; provided to maintain compatibility only } -function CeSetUserNotification(hNotification:HANDLE; pwszAppName:pTCHAR; var lpTime:SYSTEMTIME; lpUserNotification:PCE_USER_NOTIFICATION):HANDLE;external KernelDLL name 'CeSetUserNotification'; -function CeRunAppAtTime(pwszAppName:pTCHAR; var lpTime:SYSTEMTIME):BOOL;external KernelDLL name 'CeRunAppAtTime'; -function CeRunAppAtEvent(pwszAppName:pTCHAR; lWhichEvent:LONG):BOOL;external KernelDLL name 'CeRunAppAtEvent'; -function CeHandleAppNotifications(pwszAppName:pTCHAR):BOOL;external KernelDLL name 'CeHandleAppNotifications'; - -{$endif read_interface} diff --git a/packages/winceunits/src/notify.pp b/packages/winceunits/src/notify.pp new file mode 100644 index 0000000000..9fbbb4c2ec --- /dev/null +++ b/packages/winceunits/src/notify.pp @@ -0,0 +1,198 @@ +{ + This file is part of the Free Pascal run time library. + Copyright (c) 2007 Free Pascal development team. + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + ********************************************************************** + + Automatically converted by H2Pas 1.0.0 from notify.h + The following command line parameters were used: + -d + -c + -w + notify.h +} + +{$ifdef read_interface} + +const + NOTIFICATION_EVENT_NONE = 0; + NOTIFICATION_EVENT_TIME_CHANGE = 1; + NOTIFICATION_EVENT_SYNC_END = 2; + NOTIFICATION_EVENT_ON_AC_POWER = 3; + NOTIFICATION_EVENT_OFF_AC_POWER = 4; + NOTIFICATION_EVENT_NET_CONNECT = 5; + NOTIFICATION_EVENT_NET_DISCONNECT = 6; + NOTIFICATION_EVENT_DEVICE_CHANGE = 7; + NOTIFICATION_EVENT_IR_DISCOVERED = 8; + NOTIFICATION_EVENT_RS232_DETECTED = 9; + NOTIFICATION_EVENT_RESTORE_END = 10; + NOTIFICATION_EVENT_WAKEUP = 11; + NOTIFICATION_EVENT_TZ_CHANGE = 12; + NOTIFICATION_EVENT_MACHINE_NAME_CHANGE = 13; + NOTIFICATION_EVENT_LAST = NOTIFICATION_EVENT_MACHINE_NAME_CHANGE; +{ + * String passed on the command line when an app is run as the result + * of a call to CeRunAppAtTime(). + } + APP_RUN_AT_TIME = 'AppRunAtTime'; +{ + * Prefix of the command line when the user requests to run the application + * that "owns" a notification. It is followed by a space, and the + * stringized version of the notification handle. + } + APP_RUN_TO_HANDLE_NOTIFICATION = 'AppRunToHandleNotification'; +{ + * Strings passed on the command line when an event occurs that the + * app has requested via CeRunAppAtEvent. Note that some of these + * strings will be used as the command line *prefix*, since the rest + * of the command line will be used as a parameter. + } + APP_RUN_AFTER_TIME_CHANGE = 'AppRunAfterTimeChange'; + APP_RUN_AFTER_SYNC = 'AppRunAfterSync'; + APP_RUN_AT_AC_POWER_ON = 'AppRunAtAcPowerOn'; + APP_RUN_AT_AC_POWER_OFF = 'AppRunAtAcPowerOff'; + APP_RUN_AT_NET_CONNECT = 'AppRunAtNetConnect'; + APP_RUN_AT_NET_DISCONNECT = 'AppRunAtNetDisconnect'; + APP_RUN_AT_DEVICE_CHANGE = 'AppRunDeviceChange'; + APP_RUN_AT_IR_DISCOVERY = 'AppRunAtIrDiscovery'; + APP_RUN_AT_RS232_DETECT = 'AppRunAtRs232Detect'; + APP_RUN_AFTER_RESTORE = 'AppRunAfterRestore'; + APP_RUN_AFTER_WAKEUP = 'AppRunAfterWakeup'; + APP_RUN_AFTER_TZ_CHANGE = 'AppRunAfterTzChange'; + APP_RUN_AFTER_EXTENDED_EVENT = 'AppRunAfterExtendedEvent'; +{ + * Strings passed on the end of the command line for the event, + * NOTIFICATION_EVENT_DEVICE_CHANGE. The general form will be + * "/op devicename" for instance "/ADD COM2:" + } + NOTIFY_DEVICE_ADD = '/ADD'; + NOTIFY_DEVICE_REMOVE = '/REMOVE'; +{ + * @struct CE_USER_NOTIFICATION | User Notification Structure + * + * @comm This structure is passed in to . + * Initial settings are used to populate the dialog. If the function + * returns TRUE, the returned settings should be saved, and considered when + * calling . Settings for hardware not on the + * current device will be ignored. + * + * It is also used when calling , to describe + * what should happen when the notification time is reached. + } +{ PUN_* flags. Flags not valid on a given } +{ hardware platform will be ignored. } + PUN_LED = 1; {@flag PUN_LED | LED flag. Set if the LED should be } +{ flashed when the notification occurs. } + PUN_VIBRATE = 2; {@flag PUN_VIBRATE | Vibrate flag. Set if the device should } +{ be vibrated. } + PUN_DIALOG = 4; {@flag PUN_DIALOG | Dialog flag. Set if a dialog should be } +{ displayed (the app must provide title and text } +{ when calling ). } + PUN_SOUND = 8; {@flag PUN_SOUND | Sound flag. Set if the sound specified } +{ in pwszSound should be played. } + PUN_REPEAT = 16; {@flag PUN_REPEAT | Sound repeat flag. Set if the sound } +{ specified in pwszSound should be repeated progressively. } + PUN_PRIVATE = 32; {@flag PUN_PRIVATE | Dialog box z-order flag. Set if the } +{ notification dialog box should come up behind the password. } +{@field Action Flags. Any combination of the } +{@field Dialog Title. Required if PUN_DIALOG is set, ignored } +{ otherwise. Ignored by CeGetUserNotificationPreferences(). } +{@field Dialog Text. Required if PUN_DIALOG is set, ignored } +{ otherwise. Ignored by CeGetUserNotificationPreferences(). } +{@field Sound string as supplied to sndPlaySound. } +{ CeSetUserNotification() ignores it if PUN_SOUND is not set. } +{@field Max Sound string length. Specifies the } +{ maximum length of the string that can be copied } +{ into the pwszSound buffer by } +{ CeGetUserNotificationPreferences(). } +{ Should be at least MAX_PATH * sizeof(TCHAR). } +{ Ignored by CeSetUserNotification(). } +{ union } +{@field Reserved. Must be NULL or a pointer to } +{ platform-defined expansion structure. } +{ The first dword of the structure } +{ indicates the size of the structure. } +{ void *pExpansion; } +{ ; } +type + UserNotificationType = record + ActionFlags : DWORD; + pwszDialogTitle : ^TCHAR; + pwszDialogText : ^TCHAR; + pwszSound : ^TCHAR; + nMaxSound : DWORD; + dwReserved : DWORD; + end; + CE_USER_NOTIFICATION = UserNotificationType; + PCE_USER_NOTIFICATION = ^UserNotificationType; + +const + CNT_EVENT = 1; {@flag CNT_EVENT | System event notification } + CNT_TIME = 2; {@flag CNT_TIME | Time-based notification } + CNT_PERIOD = 3; {@flag CNT_PERIOD | Time-based notification is active for } +{ time period between stStart and stEnd } + CNT_CLASSICTIME = 4; {@flag CNT_CLASSICTIME | equivalent to using (obsolete) } +{ CeSetUserNotification function - standard command line is } +{ supplied. lpszArguments must be NULL } +{@field dwType Notification type } +{@field dwEvent - type of event if dwType == CNT_EVENT } +{@field lpszApplication - name of application to execute } +{@field lpszArguments - command line (sans app name) } +{@field stStartTime - begin of notification period } +{@field stEndTime - end of notification period } +type + UserNotificationTrigger = record + dwSize : DWORD; + dwType : DWORD; + dwEvent : DWORD; + lpszApplication : ^TCHAR; + lpszArguments : ^TCHAR; + stStartTime : SYSTEMTIME; + stEndTime : SYSTEMTIME; + end; + CE_NOTIFICATION_TRIGGER = UserNotificationTrigger; + PCE_NOTIFICATION_TRIGGER = ^UserNotificationTrigger; +{ } +{ Application name can be prefixed with the following strings to specify different } +{ named objects rather than an application. The action varies depending on the prefix. } +{ In case of named event, the event gets signaled. } +{ } + +const + NAMED_EVENT_PREFIX_TEXT = '\\.\Notifications\NamedEvents\'; + NAMED_EVENT_PREFIX_LEN = 30; + CNS_SIGNALLED = 1; + +type + UserNotificationInfoHeader = record + hNotification : HANDLE; + dwStatus : DWORD; + pcent : ^CE_NOTIFICATION_TRIGGER; + pceun : ^CE_USER_NOTIFICATION; + end; + CE_NOTIFICATION_INFO_HEADER = UserNotificationInfoHeader; + PCE_NOTIFICATION_INFO_HEADER = ^UserNotificationInfoHeader; +{ Declarations of User Notification APIs. } +{ C++ extern C conditionnal removed } +{__cplusplus } +{ @CESYSGEN IF GWES_NOTIFY } + +function CeGetUserNotificationPreferences(hWndParent:HWND; lpNotification:PCE_USER_NOTIFICATION):BOOL;external KernelDLL name 'CeGetUserNotificationPreferences'; +function CeSetUserNotificationEx(hNotification:HANDLE; pcnt:PCE_NOTIFICATION_TRIGGER; pceun:PCE_USER_NOTIFICATION):HANDLE;external KernelDLL name 'CeSetUserNotificationEx'; +function CeClearUserNotification(hNotification:HANDLE):BOOL;external KernelDLL name 'CeClearUserNotification'; +function CeGetUserNotification(hNotification:HANDLE; cBufferSize:DWORD; pcBytesNeeded:LPDWORD; pBuffer:LPBYTE):BOOL;external KernelDLL name 'CeGetUserNotification'; +function CeGetUserNotificationHandles(rghNotifications:PHANDLE; cHandles:DWORD; pcHandlesNeeded:LPDWORD):BOOL;external KernelDLL name 'CeGetUserNotificationHandles'; +{ Obsolete; provided to maintain compatibility only } +function CeSetUserNotification(hNotification:HANDLE; pwszAppName:pTCHAR; var lpTime:SYSTEMTIME; lpUserNotification:PCE_USER_NOTIFICATION):HANDLE;external KernelDLL name 'CeSetUserNotification'; +function CeRunAppAtTime(pwszAppName:pTCHAR; var lpTime:SYSTEMTIME):BOOL;external KernelDLL name 'CeRunAppAtTime'; +function CeRunAppAtEvent(pwszAppName:pTCHAR; lWhichEvent:LONG):BOOL;external KernelDLL name 'CeRunAppAtEvent'; +function CeHandleAppNotifications(pwszAppName:pTCHAR):BOOL;external KernelDLL name 'CeHandleAppNotifications'; + +{$endif read_interface} diff --git a/packages/winceunits/src/oleaut32.inc b/packages/winceunits/src/oleaut32.inc deleted file mode 100644 index 8dfb06b806..0000000000 --- a/packages/winceunits/src/oleaut32.inc +++ /dev/null @@ -1,276 +0,0 @@ -{ - This file is part of the Free Pascal run time library. - Copyright (c) 2006 Free Pascal development team. - - See the file COPYING.FPC, included in this distribution, - for details about the copyright. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - **********************************************************************} - -{ Declarations for oleaut32 WinCE API - -} - -{exported functions list = to do, - * please remove functions done * - - Exports - - E3 BstrFromVector - DD CreateErrorInfo - D7 CreateTypeLib2 - CF DispCallFunc - 1D DispGetIDsOfNames - 1C DispGetParam - 1E DispInvoke - DB GetErrorInfo - D5 LoadRegTypeLib - D4 LoadTypeLib - D8 OACreateTypeLib2 - D6 RegisterTypeLib - 17 SafeArrayAccessData - 20 SafeArrayAllocData - 1F SafeArrayAllocDescriptor - 1B SafeArrayCopy - E1 SafeArrayCopyData - F SafeArrayCreate - E0 SafeArrayCreateVector - 10 SafeArrayDestroy - 22 SafeArrayDestroyData - 21 SafeArrayDestroyDescriptor - 11 SafeArrayGetDim - 19 SafeArrayGetElement - 12 SafeArrayGetElemsize - 14 SafeArrayGetLBound - 13 SafeArrayGetUBound - 15 SafeArrayLock - D1 SafeArrayPtrOfIndex - 1A SafeArrayPutElement - 23 SafeArrayRedim - 18 SafeArrayUnaccessData - 16 SafeArrayUnlock - DC SetErrorInfo - D3 SysAllocStringByteLen - D2 SysStringByteLen - D9 SystemTimeToVariantTime - 87 VarBoolFromCy - 86 VarBoolFromDate - 8D VarBoolFromDec - 89 VarBoolFromDisp - 8A VarBoolFromI1 - 82 VarBoolFromI2 - 83 VarBoolFromI4 - 84 VarBoolFromR4 - 85 VarBoolFromR8 - 88 VarBoolFromStr - 81 VarBoolFromUI1 - 8B VarBoolFromUI2 - 8C VarBoolFromUI4 - 7C VarBstrFromBool - 79 VarBstrFromCy - 7A VarBstrFromDate - 80 VarBstrFromDec - 7B VarBstrFromDisp - 7D VarBstrFromI1 - 75 VarBstrFromI2 - 76 VarBstrFromI4 - 77 VarBstrFromR4 - 78 VarBstrFromR8 - 74 VarBstrFromUI1 - 7E VarBstrFromUI2 - 7F VarBstrFromUI4 - 6F VarCyFromBool - 6C VarCyFromDate - 73 VarCyFromDec - 6E VarCyFromDisp - 70 VarCyFromI1 - 68 VarCyFromI2 - 69 VarCyFromI4 - 6A VarCyFromR4 - 6B VarCyFromR8 - 6D VarCyFromStr - 67 VarCyFromUI1 - 71 VarCyFromUI2 - 72 VarCyFromUI4 - 62 VarDateFromBool - 5F VarDateFromCy - 66 VarDateFromDec - 61 VarDateFromDisp - 63 VarDateFromI1 - 5B VarDateFromI2 - 5C VarDateFromI4 - 5D VarDateFromR4 - 5E VarDateFromR8 - 60 VarDateFromStr - 5A VarDateFromUI1 - 64 VarDateFromUI2 - 65 VarDateFromUI4 - DE VarDateFromUdate - A4 VarDecFromBool - A1 VarDecFromCy - A0 VarDecFromDate - A3 VarDecFromDisp - A5 VarDecFromI1 - 9C VarDecFromI2 - 9D VarDecFromI4 - 9E VarDecFromR4 - 9F VarDecFromR8 - A2 VarDecFromStr - 9B VarDecFromUI1 - A6 VarDecFromUI2 - A7 VarDecFromUI4 - B1 VarI1FromBool - AE VarI1FromCy - AD VarI1FromDate - B4 VarI1FromDec - B0 VarI1FromDisp - A9 VarI1FromI2 - AA VarI1FromI4 - AB VarI1FromR4 - AC VarI1FromR8 - AF VarI1FromStr - A8 VarI1FromUI1 - B2 VarI1FromUI2 - B3 VarI1FromUI4 - 2E VarI2FromBool - 2A VarI2FromCy - 2B VarI2FromDate - 32 VarI2FromDec - 2D VarI2FromDisp - 2F VarI2FromI1 - 27 VarI2FromI4 - 28 VarI2FromR4 - 29 VarI2FromR8 - 2C VarI2FromStr - 26 VarI2FromUI1 - 30 VarI2FromUI2 - 31 VarI2FromUI4 - 3B VarI4FromBool - 37 VarI4FromCy - 38 VarI4FromDate - 3F VarI4FromDec - 3A VarI4FromDisp - 3C VarI4FromI1 - 34 VarI4FromI2 - 35 VarI4FromR4 - 36 VarI4FromR8 - 39 VarI4FromStr - 33 VarI4FromUI1 - 3D VarI4FromUI2 - 3E VarI4FromUI4 - 25 VarNumFromParseNum - 24 VarParseNumFromStr - 48 VarR4FromBool - 44 VarR4FromCy - 45 VarR4FromDate - 4C VarR4FromDec - 47 VarR4FromDisp - 49 VarR4FromI1 - 41 VarR4FromI2 - 42 VarR4FromI4 - 43 VarR4FromR8 - 46 VarR4FromStr - 40 VarR4FromUI1 - 4A VarR4FromUI2 - 4B VarR4FromUI4 - 55 VarR8FromBool - 51 VarR8FromCy - 52 VarR8FromDate - 59 VarR8FromDec - 54 VarR8FromDisp - 56 VarR8FromI1 - 4E VarR8FromI2 - 4F VarR8FromI4 - 50 VarR8FromR4 - 53 VarR8FromStr - 4D VarR8FromUI1 - 57 VarR8FromUI2 - 58 VarR8FromUI4 - 96 VarUI1FromBool - 92 VarUI1FromCy - 93 VarUI1FromDate - 9A VarUI1FromDec - 95 VarUI1FromDisp - 97 VarUI1FromI1 - 8E VarUI1FromI2 - 8F VarUI1FromI4 - 90 VarUI1FromR4 - 91 VarUI1FromR8 - 94 VarUI1FromStr - 98 VarUI1FromUI2 - 99 VarUI1FromUI4 - BE VarUI2FromBool - BB VarUI2FromCy - BA VarUI2FromDate - C1 VarUI2FromDec - BD VarUI2FromDisp - BF VarUI2FromI1 - B6 VarUI2FromI2 - B7 VarUI2FromI4 - B8 VarUI2FromR4 - B9 VarUI2FromR8 - BC VarUI2FromStr - B5 VarUI2FromUI1 - C0 VarUI2FromUI4 - CB VarUI4FromBool - C8 VarUI4FromCy - C7 VarUI4FromDate - CE VarUI4FromDec - CA VarUI4FromDisp - CC VarUI4FromI1 - C3 VarUI4FromI2 - C4 VarUI4FromI4 - C5 VarUI4FromR4 - C6 VarUI4FromR8 - C9 VarUI4FromStr - C2 VarUI4FromUI1 - CD VarUI4FromUI2 - DF VarUdateFromDate - E VariantChangeType - D0 VariantChangeTypeEx - B VariantClear - C VariantCopy - D VariantCopyInd - A VariantInit - DA VariantTimeToSystemTime - E2 VectorFromBstr -} - -{$ifdef read_interface} - -//***************************************************************************** -// consts -//***************************************************************************** -const - oleaut32dll = 'oleaut32.dll'; - -//***************************************************************************** -// types -//***************************************************************************** - - -//***************************************************************************** -// functions -//***************************************************************************** - -//BSTR API -function SysAllocString(psz: pointer): Integer; external oleaut32dll name 'SysAllocString'; -function SysAllocStringLen(psz: pointer; len:dword): Integer; external oleaut32dll name 'SysAllocStringLen'; -procedure SysFreeString(bstr:pointer); external oleaut32dll name 'SysFreeString'; -function SysStringLen(bstr:pointer):UINT; external oleaut32dll name 'SysStringLen'; -function SysReAllocString(var bstr:pointer;psz: pointer): Integer; external oleaut32dll name 'SysReAllocString'; -function SysReAllocStringLen(var bstr:pointer;psz: pointer; len:dword): Integer; external oleaut32dll name 'SysReAllocStringLen'; - - -{$endif read_interface} - - -{$ifdef read_implementation} - -{$endif read_implementation} - - diff --git a/packages/winceunits/src/oleaut32.pp b/packages/winceunits/src/oleaut32.pp new file mode 100644 index 0000000000..8dfb06b806 --- /dev/null +++ b/packages/winceunits/src/oleaut32.pp @@ -0,0 +1,276 @@ +{ + This file is part of the Free Pascal run time library. + Copyright (c) 2006 Free Pascal development team. + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + +{ Declarations for oleaut32 WinCE API + +} + +{exported functions list = to do, + * please remove functions done * + + Exports + + E3 BstrFromVector + DD CreateErrorInfo + D7 CreateTypeLib2 + CF DispCallFunc + 1D DispGetIDsOfNames + 1C DispGetParam + 1E DispInvoke + DB GetErrorInfo + D5 LoadRegTypeLib + D4 LoadTypeLib + D8 OACreateTypeLib2 + D6 RegisterTypeLib + 17 SafeArrayAccessData + 20 SafeArrayAllocData + 1F SafeArrayAllocDescriptor + 1B SafeArrayCopy + E1 SafeArrayCopyData + F SafeArrayCreate + E0 SafeArrayCreateVector + 10 SafeArrayDestroy + 22 SafeArrayDestroyData + 21 SafeArrayDestroyDescriptor + 11 SafeArrayGetDim + 19 SafeArrayGetElement + 12 SafeArrayGetElemsize + 14 SafeArrayGetLBound + 13 SafeArrayGetUBound + 15 SafeArrayLock + D1 SafeArrayPtrOfIndex + 1A SafeArrayPutElement + 23 SafeArrayRedim + 18 SafeArrayUnaccessData + 16 SafeArrayUnlock + DC SetErrorInfo + D3 SysAllocStringByteLen + D2 SysStringByteLen + D9 SystemTimeToVariantTime + 87 VarBoolFromCy + 86 VarBoolFromDate + 8D VarBoolFromDec + 89 VarBoolFromDisp + 8A VarBoolFromI1 + 82 VarBoolFromI2 + 83 VarBoolFromI4 + 84 VarBoolFromR4 + 85 VarBoolFromR8 + 88 VarBoolFromStr + 81 VarBoolFromUI1 + 8B VarBoolFromUI2 + 8C VarBoolFromUI4 + 7C VarBstrFromBool + 79 VarBstrFromCy + 7A VarBstrFromDate + 80 VarBstrFromDec + 7B VarBstrFromDisp + 7D VarBstrFromI1 + 75 VarBstrFromI2 + 76 VarBstrFromI4 + 77 VarBstrFromR4 + 78 VarBstrFromR8 + 74 VarBstrFromUI1 + 7E VarBstrFromUI2 + 7F VarBstrFromUI4 + 6F VarCyFromBool + 6C VarCyFromDate + 73 VarCyFromDec + 6E VarCyFromDisp + 70 VarCyFromI1 + 68 VarCyFromI2 + 69 VarCyFromI4 + 6A VarCyFromR4 + 6B VarCyFromR8 + 6D VarCyFromStr + 67 VarCyFromUI1 + 71 VarCyFromUI2 + 72 VarCyFromUI4 + 62 VarDateFromBool + 5F VarDateFromCy + 66 VarDateFromDec + 61 VarDateFromDisp + 63 VarDateFromI1 + 5B VarDateFromI2 + 5C VarDateFromI4 + 5D VarDateFromR4 + 5E VarDateFromR8 + 60 VarDateFromStr + 5A VarDateFromUI1 + 64 VarDateFromUI2 + 65 VarDateFromUI4 + DE VarDateFromUdate + A4 VarDecFromBool + A1 VarDecFromCy + A0 VarDecFromDate + A3 VarDecFromDisp + A5 VarDecFromI1 + 9C VarDecFromI2 + 9D VarDecFromI4 + 9E VarDecFromR4 + 9F VarDecFromR8 + A2 VarDecFromStr + 9B VarDecFromUI1 + A6 VarDecFromUI2 + A7 VarDecFromUI4 + B1 VarI1FromBool + AE VarI1FromCy + AD VarI1FromDate + B4 VarI1FromDec + B0 VarI1FromDisp + A9 VarI1FromI2 + AA VarI1FromI4 + AB VarI1FromR4 + AC VarI1FromR8 + AF VarI1FromStr + A8 VarI1FromUI1 + B2 VarI1FromUI2 + B3 VarI1FromUI4 + 2E VarI2FromBool + 2A VarI2FromCy + 2B VarI2FromDate + 32 VarI2FromDec + 2D VarI2FromDisp + 2F VarI2FromI1 + 27 VarI2FromI4 + 28 VarI2FromR4 + 29 VarI2FromR8 + 2C VarI2FromStr + 26 VarI2FromUI1 + 30 VarI2FromUI2 + 31 VarI2FromUI4 + 3B VarI4FromBool + 37 VarI4FromCy + 38 VarI4FromDate + 3F VarI4FromDec + 3A VarI4FromDisp + 3C VarI4FromI1 + 34 VarI4FromI2 + 35 VarI4FromR4 + 36 VarI4FromR8 + 39 VarI4FromStr + 33 VarI4FromUI1 + 3D VarI4FromUI2 + 3E VarI4FromUI4 + 25 VarNumFromParseNum + 24 VarParseNumFromStr + 48 VarR4FromBool + 44 VarR4FromCy + 45 VarR4FromDate + 4C VarR4FromDec + 47 VarR4FromDisp + 49 VarR4FromI1 + 41 VarR4FromI2 + 42 VarR4FromI4 + 43 VarR4FromR8 + 46 VarR4FromStr + 40 VarR4FromUI1 + 4A VarR4FromUI2 + 4B VarR4FromUI4 + 55 VarR8FromBool + 51 VarR8FromCy + 52 VarR8FromDate + 59 VarR8FromDec + 54 VarR8FromDisp + 56 VarR8FromI1 + 4E VarR8FromI2 + 4F VarR8FromI4 + 50 VarR8FromR4 + 53 VarR8FromStr + 4D VarR8FromUI1 + 57 VarR8FromUI2 + 58 VarR8FromUI4 + 96 VarUI1FromBool + 92 VarUI1FromCy + 93 VarUI1FromDate + 9A VarUI1FromDec + 95 VarUI1FromDisp + 97 VarUI1FromI1 + 8E VarUI1FromI2 + 8F VarUI1FromI4 + 90 VarUI1FromR4 + 91 VarUI1FromR8 + 94 VarUI1FromStr + 98 VarUI1FromUI2 + 99 VarUI1FromUI4 + BE VarUI2FromBool + BB VarUI2FromCy + BA VarUI2FromDate + C1 VarUI2FromDec + BD VarUI2FromDisp + BF VarUI2FromI1 + B6 VarUI2FromI2 + B7 VarUI2FromI4 + B8 VarUI2FromR4 + B9 VarUI2FromR8 + BC VarUI2FromStr + B5 VarUI2FromUI1 + C0 VarUI2FromUI4 + CB VarUI4FromBool + C8 VarUI4FromCy + C7 VarUI4FromDate + CE VarUI4FromDec + CA VarUI4FromDisp + CC VarUI4FromI1 + C3 VarUI4FromI2 + C4 VarUI4FromI4 + C5 VarUI4FromR4 + C6 VarUI4FromR8 + C9 VarUI4FromStr + C2 VarUI4FromUI1 + CD VarUI4FromUI2 + DF VarUdateFromDate + E VariantChangeType + D0 VariantChangeTypeEx + B VariantClear + C VariantCopy + D VariantCopyInd + A VariantInit + DA VariantTimeToSystemTime + E2 VectorFromBstr +} + +{$ifdef read_interface} + +//***************************************************************************** +// consts +//***************************************************************************** +const + oleaut32dll = 'oleaut32.dll'; + +//***************************************************************************** +// types +//***************************************************************************** + + +//***************************************************************************** +// functions +//***************************************************************************** + +//BSTR API +function SysAllocString(psz: pointer): Integer; external oleaut32dll name 'SysAllocString'; +function SysAllocStringLen(psz: pointer; len:dword): Integer; external oleaut32dll name 'SysAllocStringLen'; +procedure SysFreeString(bstr:pointer); external oleaut32dll name 'SysFreeString'; +function SysStringLen(bstr:pointer):UINT; external oleaut32dll name 'SysStringLen'; +function SysReAllocString(var bstr:pointer;psz: pointer): Integer; external oleaut32dll name 'SysReAllocString'; +function SysReAllocStringLen(var bstr:pointer;psz: pointer; len:dword): Integer; external oleaut32dll name 'SysReAllocStringLen'; + + +{$endif read_interface} + + +{$ifdef read_implementation} + +{$endif read_implementation} + + diff --git a/packages/winceunits/src/power.inc b/packages/winceunits/src/power.inc deleted file mode 100644 index 7a6f933c9a..0000000000 --- a/packages/winceunits/src/power.inc +++ /dev/null @@ -1,151 +0,0 @@ -{ - This file is part of the Free Pascal run time library. - Copyright (c) 2007 Free Pascal development team. - - See the file COPYING.FPC, included in this distribution, - for details about the copyright. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - ********************************************************************** - - Automatically converted by H2Pas 1.0.0 from power.h - The following command line parameters were used: - -d - -c - -w - power.h -} - -{ Power Management APIs } - -{$ifdef read_interface} -const - AC_LINE_OFFLINE = $00; - AC_LINE_ONLINE = $01; - AC_LINE_BACKUP_POWER = $02; - AC_LINE_UNKNOWN = $FF; - BATTERY_FLAG_HIGH = $01; - BATTERY_FLAG_LOW = $02; - BATTERY_FLAG_CRITICAL = $04; - BATTERY_FLAG_CHARGING = $08; - BATTERY_FLAG_NO_BATTERY = $80; - BATTERY_FLAG_UNKNOWN = $FF; - BATTERY_PERCENTAGE_UNKNOWN = $FF; - BATTERY_LIFE_UNKNOWN = $FFFFFFFF; -type - - _SYSTEM_POWER_STATUS_EX = record - ACLineStatus : BYTE; - BatteryFlag : BYTE; - BatteryLifePercent : BYTE; - Reserved1 : BYTE; - BatteryLifeTime : DWORD; - BatteryFullLifeTime : DWORD; - Reserved2 : BYTE; - BackupBatteryFlag : BYTE; - BackupBatteryLifePercent : BYTE; - Reserved3 : BYTE; - BackupBatteryLifeTime : DWORD; - BackupBatteryFullLifeTime : DWORD; - end; - SYSTEM_POWER_STATUS_EX = _SYSTEM_POWER_STATUS_EX; - PSYSTEM_POWER_STATUS_EX = ^_SYSTEM_POWER_STATUS_EX; - LPSYSTEM_POWER_STATUS_EX = ^_SYSTEM_POWER_STATUS_EX; -{ - @struct SYSTEM_POWER_STATUS_EX2 | contains information about the power status - of the system. - - @field BYTE | ACLineStatus | AC power status. Must be one of - AC_LINE_OFFLINE, AC_LINE_ONLINE, AC_LINE_BACKUP_POWER, or AC_LINE_UNKNOWN. - - @field BYTE | BatteryFlag | Battery charge status. Must be one of - BATTERY_FLAG_HIGH, BATTERY_FLAG_LOW, BATTERY_FLAG_CRITICAL, - BATTERY_FLAG_CHARGING, BATTERY_FLAG_NO_BATTERY, or BATTERY_FLAG_UNKNOWN - - @field BYTE | BatteryLifePercent | Percentage of full battery charge - remaining. Must be in the range 0 to 100, or BATTERY_PERCENTAGE_UNKNOWN. - - @field BYTE | Reserved1 | Must be zero. - - @field DWORD | BatteryLifeTime | Number of seconds of battery life - remaining, or BATTERY_LIFE_UNKNOWN if remaining seconds are unknown. - - @field DWORD | BatteryFullLifeTime | Number of seconds of battery life when - at full charge, or BATTERY_LIFE_UNKNOWN if full lifetime is unknown. - - @field BYTE | Reserved2 | Must be zero. - - @field BYTE | BackupBatteryFlag | Backup battery charge status. Must be one - of BATTERY_FLAG_HIGH, BATTERY_FLAG_LOW, BATTERY_FLAG_CRITICAL, - BATTERY_FLAG_CHARGING, BATTERY_FLAG_NO_BATTERY, or BATTERY_FLAG_UNKNOWN. - - @field BYTE | BackupBatteryLifePercent | Percentage of full backup battery - charge remaining. Must be in the range 0 to 100, or - BATTERY_PERCENTAGE_UNKNOWN. - - @field BYTE | Reserved3 | Must be zero. - - @field DWORD | BackupBatteryLifeTime | Number of seconds of backup battery - life remaining, or BATTERY_LIFE_UNKNOWN if remaining seconds are unknown. - - @field DWORD | BackupBatteryFullLifeTime | Number of seconds of backup - battery life when at full charge, or BATTERY_LIFE_UNKNOWN if full lifetime - is unknown. - - } - -const - BATTERY_CHEMISTRY_ALKALINE = $01; - BATTERY_CHEMISTRY_NICD = $02; - BATTERY_CHEMISTRY_NIMH = $03; - BATTERY_CHEMISTRY_LION = $04; - BATTERY_CHEMISTRY_LIPOLY = $05; - BATTERY_CHEMISTRY_ZINCAIR = $06; - BATTERY_CHEMISTRY_UNKNOWN = $FF; -{ Above here is old struct, below are new fields } -{ Reports Reading of battery voltage in millivolts (0..65535 mV) } -{ Reports Instantaneous current drain (mA). 0..32767 for charge, 0 to -32768 for discharge } -{ Reports short term average of device current drain (mA). 0..32767 for charge, 0 to -32768 for discharge } -{ Reports time constant (mS) of integration used in reporting BatteryAverageCurrent } -{ Reports long-term cumulative average DISCHARGE (mAH). Reset by charging or changing the batteries. 0 to 32767 mAH } -{ Reports Battery temp in 0.1 degree C (-3276.8 to 3276.7 degrees C) } -{ Reports Reading of backup battery voltage } -{ See Chemistry defines above } -{ New fields can be added below, but don't change any existing ones } -type - - _SYSTEM_POWER_STATUS_EX2 = record - ACLineStatus : BYTE; - BatteryFlag : BYTE; - BatteryLifePercent : BYTE; - Reserved1 : BYTE; - BatteryLifeTime : DWORD; - BatteryFullLifeTime : DWORD; - Reserved2 : BYTE; - BackupBatteryFlag : BYTE; - BackupBatteryLifePercent : BYTE; - Reserved3 : BYTE; - BackupBatteryLifeTime : DWORD; - BackupBatteryFullLifeTime : DWORD; - BatteryVoltage : DWORD; - BatteryCurrent : DWORD; - BatteryAverageCurrent : DWORD; - BatteryAverageInterval : DWORD; - BatterymAHourConsumed : DWORD; - BatteryTemperature : DWORD; - BackupBatteryVoltage : DWORD; - BatteryChemistry : BYTE; - end; - SYSTEM_POWER_STATUS_EX2 = _SYSTEM_POWER_STATUS_EX2; - PSYSTEM_POWER_STATUS_EX2 = ^_SYSTEM_POWER_STATUS_EX2; - LPSYSTEM_POWER_STATUS_EX2 = ^_SYSTEM_POWER_STATUS_EX2; -{ @CESYSGEN IF COREDLL_BATTERY } - -function GetSystemPowerStatusEx(var SystemPowerStatusEx: SYSTEM_POWER_STATUS_EX; fUpdate:BOOL):BOOL;external KernelDLL name 'GetSystemPowerStatusEx'; -{ Return value : 0 = fail. Non-zero indicates length of returned data. } -function GetSystemPowerStatusEx2(var SystemPowerStatusEx2: SYSTEM_POWER_STATUS_EX2; dwLen:DWORD; fUpdate:BOOL):DWORD;external KernelDLL name 'GetSystemPowerStatusEx2'; - -{$endif read_interface} diff --git a/packages/winceunits/src/power.pp b/packages/winceunits/src/power.pp new file mode 100644 index 0000000000..7a6f933c9a --- /dev/null +++ b/packages/winceunits/src/power.pp @@ -0,0 +1,151 @@ +{ + This file is part of the Free Pascal run time library. + Copyright (c) 2007 Free Pascal development team. + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + ********************************************************************** + + Automatically converted by H2Pas 1.0.0 from power.h + The following command line parameters were used: + -d + -c + -w + power.h +} + +{ Power Management APIs } + +{$ifdef read_interface} +const + AC_LINE_OFFLINE = $00; + AC_LINE_ONLINE = $01; + AC_LINE_BACKUP_POWER = $02; + AC_LINE_UNKNOWN = $FF; + BATTERY_FLAG_HIGH = $01; + BATTERY_FLAG_LOW = $02; + BATTERY_FLAG_CRITICAL = $04; + BATTERY_FLAG_CHARGING = $08; + BATTERY_FLAG_NO_BATTERY = $80; + BATTERY_FLAG_UNKNOWN = $FF; + BATTERY_PERCENTAGE_UNKNOWN = $FF; + BATTERY_LIFE_UNKNOWN = $FFFFFFFF; +type + + _SYSTEM_POWER_STATUS_EX = record + ACLineStatus : BYTE; + BatteryFlag : BYTE; + BatteryLifePercent : BYTE; + Reserved1 : BYTE; + BatteryLifeTime : DWORD; + BatteryFullLifeTime : DWORD; + Reserved2 : BYTE; + BackupBatteryFlag : BYTE; + BackupBatteryLifePercent : BYTE; + Reserved3 : BYTE; + BackupBatteryLifeTime : DWORD; + BackupBatteryFullLifeTime : DWORD; + end; + SYSTEM_POWER_STATUS_EX = _SYSTEM_POWER_STATUS_EX; + PSYSTEM_POWER_STATUS_EX = ^_SYSTEM_POWER_STATUS_EX; + LPSYSTEM_POWER_STATUS_EX = ^_SYSTEM_POWER_STATUS_EX; +{ + @struct SYSTEM_POWER_STATUS_EX2 | contains information about the power status + of the system. + + @field BYTE | ACLineStatus | AC power status. Must be one of + AC_LINE_OFFLINE, AC_LINE_ONLINE, AC_LINE_BACKUP_POWER, or AC_LINE_UNKNOWN. + + @field BYTE | BatteryFlag | Battery charge status. Must be one of + BATTERY_FLAG_HIGH, BATTERY_FLAG_LOW, BATTERY_FLAG_CRITICAL, + BATTERY_FLAG_CHARGING, BATTERY_FLAG_NO_BATTERY, or BATTERY_FLAG_UNKNOWN + + @field BYTE | BatteryLifePercent | Percentage of full battery charge + remaining. Must be in the range 0 to 100, or BATTERY_PERCENTAGE_UNKNOWN. + + @field BYTE | Reserved1 | Must be zero. + + @field DWORD | BatteryLifeTime | Number of seconds of battery life + remaining, or BATTERY_LIFE_UNKNOWN if remaining seconds are unknown. + + @field DWORD | BatteryFullLifeTime | Number of seconds of battery life when + at full charge, or BATTERY_LIFE_UNKNOWN if full lifetime is unknown. + + @field BYTE | Reserved2 | Must be zero. + + @field BYTE | BackupBatteryFlag | Backup battery charge status. Must be one + of BATTERY_FLAG_HIGH, BATTERY_FLAG_LOW, BATTERY_FLAG_CRITICAL, + BATTERY_FLAG_CHARGING, BATTERY_FLAG_NO_BATTERY, or BATTERY_FLAG_UNKNOWN. + + @field BYTE | BackupBatteryLifePercent | Percentage of full backup battery + charge remaining. Must be in the range 0 to 100, or + BATTERY_PERCENTAGE_UNKNOWN. + + @field BYTE | Reserved3 | Must be zero. + + @field DWORD | BackupBatteryLifeTime | Number of seconds of backup battery + life remaining, or BATTERY_LIFE_UNKNOWN if remaining seconds are unknown. + + @field DWORD | BackupBatteryFullLifeTime | Number of seconds of backup + battery life when at full charge, or BATTERY_LIFE_UNKNOWN if full lifetime + is unknown. + + } + +const + BATTERY_CHEMISTRY_ALKALINE = $01; + BATTERY_CHEMISTRY_NICD = $02; + BATTERY_CHEMISTRY_NIMH = $03; + BATTERY_CHEMISTRY_LION = $04; + BATTERY_CHEMISTRY_LIPOLY = $05; + BATTERY_CHEMISTRY_ZINCAIR = $06; + BATTERY_CHEMISTRY_UNKNOWN = $FF; +{ Above here is old struct, below are new fields } +{ Reports Reading of battery voltage in millivolts (0..65535 mV) } +{ Reports Instantaneous current drain (mA). 0..32767 for charge, 0 to -32768 for discharge } +{ Reports short term average of device current drain (mA). 0..32767 for charge, 0 to -32768 for discharge } +{ Reports time constant (mS) of integration used in reporting BatteryAverageCurrent } +{ Reports long-term cumulative average DISCHARGE (mAH). Reset by charging or changing the batteries. 0 to 32767 mAH } +{ Reports Battery temp in 0.1 degree C (-3276.8 to 3276.7 degrees C) } +{ Reports Reading of backup battery voltage } +{ See Chemistry defines above } +{ New fields can be added below, but don't change any existing ones } +type + + _SYSTEM_POWER_STATUS_EX2 = record + ACLineStatus : BYTE; + BatteryFlag : BYTE; + BatteryLifePercent : BYTE; + Reserved1 : BYTE; + BatteryLifeTime : DWORD; + BatteryFullLifeTime : DWORD; + Reserved2 : BYTE; + BackupBatteryFlag : BYTE; + BackupBatteryLifePercent : BYTE; + Reserved3 : BYTE; + BackupBatteryLifeTime : DWORD; + BackupBatteryFullLifeTime : DWORD; + BatteryVoltage : DWORD; + BatteryCurrent : DWORD; + BatteryAverageCurrent : DWORD; + BatteryAverageInterval : DWORD; + BatterymAHourConsumed : DWORD; + BatteryTemperature : DWORD; + BackupBatteryVoltage : DWORD; + BatteryChemistry : BYTE; + end; + SYSTEM_POWER_STATUS_EX2 = _SYSTEM_POWER_STATUS_EX2; + PSYSTEM_POWER_STATUS_EX2 = ^_SYSTEM_POWER_STATUS_EX2; + LPSYSTEM_POWER_STATUS_EX2 = ^_SYSTEM_POWER_STATUS_EX2; +{ @CESYSGEN IF COREDLL_BATTERY } + +function GetSystemPowerStatusEx(var SystemPowerStatusEx: SYSTEM_POWER_STATUS_EX; fUpdate:BOOL):BOOL;external KernelDLL name 'GetSystemPowerStatusEx'; +{ Return value : 0 = fail. Non-zero indicates length of returned data. } +function GetSystemPowerStatusEx2(var SystemPowerStatusEx2: SYSTEM_POWER_STATUS_EX2; dwLen:DWORD; fUpdate:BOOL):DWORD;external KernelDLL name 'GetSystemPowerStatusEx2'; + +{$endif read_interface} diff --git a/packages/winceunits/src/shellapi.pp b/packages/winceunits/src/shellapi.pp new file mode 100644 index 0000000000..404e49936a --- /dev/null +++ b/packages/winceunits/src/shellapi.pp @@ -0,0 +1,236 @@ +{ + This file is part of the Free Pascal run time library. + Copyright (c) 2006 Free Pascal development team. + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + +{ Declarations for ceshell WinCE API + +} + +{exported functions list = to do, + * please remove functions done * + + Exports + + ordinal name + + 49 ?DLL_SHGetSpecialFolderPath@@YAHPAUHWND__@@PAGHH@Z + 4E ?PathIsRestrictedEx@@YAHPBGH@Z + 16 ?SHRemoveFontResource@@YAHPAG@Z + 17 ?_SHRemoveFontResource@@YAHPAG@Z + C DLL_SHGetFileInfo + 5 DoDragDrop + 38 Host_CheckStack + 3A Host_Exec + 35 Host_FindBigDaddy + 36 Host_MaxWindow + 39 Host_MessageBox + 37 Host_OpenPositionDB + 3B Host_ShortcutGetArgs + 3C Host_ShortcutRemoveArgs + 34 Host_ShowFileError + 42 ILConcatenate + 43 ILCopy + 41 ILFree + 46 ILGetFileSystemPidlData + 3D ILIsFileSystemPidl + 3F ILIsGUIDPidl + 3E ILIsNameSpacePidl + 40 ILIsPidl + 44 ILIsRemovableDevice + 45 ILRealPathFromPidl + 21 PathCompactPath + 20 PathCompactSlashes + 28 PathFileExists + 1D PathFindExtension + 1E PathFindFileName + 2C PathGetArgs + 23 PathGetAssociation + 22 PathIsDirectory + 24 PathIsExe + 26 PathIsExtension + 31 PathIsGUID + 25 PathIsLink + 32 PathIsRemovableDevice + 33 PathIsRestricted + 19 PathIsValidFileName + 1A PathIsValidPath + 27 PathMakePretty + 30 PathMakeUniqueName + 2F PathMatchSpec + 2B PathRemoveArgs + 1B PathRemoveBlanks + 29 PathRemoveExtension + 2A PathRemoveFileSpec + 2E PathRemoveQuotes + 2D PathRemoveQuotesAndArgs + 1C PathRemoveTrailingSlashes + 1F PathStripPath + 6 RegisterDragDrop + 7 RevokeDragDrop + 12 SHAddToRecentDocs + 4D SHCanonicalizePath + 10 SHCreateShortcut + 15 SHFlushCache + 4A SHGetCEString + 8 SHGetDesktopFolder + 48 SHGetDocumentsFolder + B SHGetMalloc + 11 SHGetShortcutTarget + 18 SHIsFileOperationRestricted + 4C SHIsFileOperationRestrictedEx + 47 SHIsRestrictedProcess + F SHLoadDIBitmap + E SHLoadDIBitmapBrush + 13 SHRegQuerySZ + 14 SHRegQuerySZEx + 4 SHSetSystemEUDCFont + 4B SHUnpackDirID + 1 __IMPORT_DESCRIPTOR_CEShell + 2 __NULL_IMPORT_DESCRIPTOR + 49 __imp_?DLL_SHGetSpecialFolderPath@@YAHPAUHWND__@@PAGHH@Z + 4E __imp_?PathIsRestrictedEx@@YAHPBGH@Z + 16 __imp_?SHRemoveFontResource@@YAHPAG@Z + 17 __imp_?_SHRemoveFontResource@@YAHPAG@Z + C __imp_DLL_SHGetFileInfo + 5 __imp_DoDragDrop + 38 __imp_Host_CheckStack + 3A __imp_Host_Exec + 35 __imp_Host_FindBigDaddy + 36 __imp_Host_MaxWindow + 39 __imp_Host_MessageBox + 37 __imp_Host_OpenPositionDB + 3B __imp_Host_ShortcutGetArgs + 3C __imp_Host_ShortcutRemoveArgs + 34 __imp_Host_ShowFileError + 42 __imp_ILConcatenate + 43 __imp_ILCopy + 41 __imp_ILFree + 46 __imp_ILGetFileSystemPidlData + 3D __imp_ILIsFileSystemPidl + 3F __imp_ILIsGUIDPidl + 3E __imp_ILIsNameSpacePidl + 40 __imp_ILIsPidl + 44 __imp_ILIsRemovableDevice + 45 __imp_ILRealPathFromPidl + 21 __imp_PathCompactPath + 20 __imp_PathCompactSlashes + 28 __imp_PathFileExists + 1D __imp_PathFindExtension + 1E __imp_PathFindFileName + 2C __imp_PathGetArgs + 23 __imp_PathGetAssociation + 22 __imp_PathIsDirectory + 24 __imp_PathIsExe + 26 __imp_PathIsExtension + 31 __imp_PathIsGUID + 25 __imp_PathIsLink + 32 __imp_PathIsRemovableDevice + 33 __imp_PathIsRestricted + 19 __imp_PathIsValidFileName + 1A __imp_PathIsValidPath + 27 __imp_PathMakePretty + 30 __imp_PathMakeUniqueName + 2F __imp_PathMatchSpec + 2B __imp_PathRemoveArgs + 1B __imp_PathRemoveBlanks + 29 __imp_PathRemoveExtension + 2A __imp_PathRemoveFileSpec + 2E __imp_PathRemoveQuotes + 2D __imp_PathRemoveQuotesAndArgs + 1C __imp_PathRemoveTrailingSlashes + 1F __imp_PathStripPath + 6 __imp_RegisterDragDrop + 7 __imp_RevokeDragDrop + 12 __imp_SHAddToRecentDocs + 4D __imp_SHCanonicalizePath + 10 __imp_SHCreateShortcut + 15 __imp_SHFlushCache + 4A __imp_SHGetCEString + 8 __imp_SHGetDesktopFolder + 48 __imp_SHGetDocumentsFolder + B __imp_SHGetMalloc + 11 __imp_SHGetShortcutTarget + 18 __imp_SHIsFileOperationRestricted + 4C __imp_SHIsFileOperationRestrictedEx + 47 __imp_SHIsRestrictedProcess + F __imp_SHLoadDIBitmap + E __imp_SHLoadDIBitmapBrush + 13 __imp_SHRegQuerySZ + 14 __imp_SHRegQuerySZEx + 4 __imp_SHSetSystemEUDCFont + 4B __imp_SHUnpackDirID + 3 CEShell_NULL_THUNK_DATA + +} + +{$ifdef read_interface} + +//***************************************************************************** +// consts +//***************************************************************************** +const + ShellDLL = 'CEShell'; + + FO_MOVE = $0001; + FO_COPY = $0002; + FO_DELETE = $0003; + FO_RENAME = $0004; + + FOF_MULTIDESTFILES = $0001; + FOF_CONFIRMMOUSE = $0002; + FOF_SILENT = $0004; // don't create progress/report + FOF_RENAMEONCOLLISION = $0008; + FOF_NOCONFIRMATION = $0010; // Don't prompt the user. + FOF_WANTMAPPINGHANDLE = $0020; // Fill in SHFILEOPSTRUCT.hNameMappings + // Must be freed using SHFreeNameMappings + FOF_ALLOWUNDO = $0040; + FOF_FILESONLY = $0080; // on *.*, do only files + FOF_SIMPLEPROGRESS = $0100; // means don't show names of files + FOF_NOCONFIRMMKDIR = $0200; // don't confirm making any needed dirs + +//***************************************************************************** +// types +//***************************************************************************** + +type +{ IMalloc interface } + + IMalloc = interface(IUnknown) + ['{00000002-0000-0000-C000-000000000046}'] + function Alloc(cb: Longint): Pointer; + function Realloc(pv: Pointer; cb: Longint): Pointer; + procedure Free(pv: Pointer); + function GetSize(pv: Pointer): Longint; + function DidAlloc(pv: Pointer): Integer; + procedure HeapMinimize; + end; + LPMALLOC = ^IMalloc; + PMALLOC = ^IMalloc; + +//***************************************************************************** +// functions +//***************************************************************************** +function SHFileOperation(lpFileOp:LPSHFILEOPSTRUCTW): longint; external ShellDLL name 'SHFileOperationW'; +function SHFileOperation(const lpFileOp:SHFILEOPSTRUCTW): longint; external ShellDLL name 'SHFileOperationW'; +function SHFileOperationW(lpFileOp:LPSHFILEOPSTRUCTW): longint; external ShellDLL name 'SHFileOperationW'; +function SHFileOperationW(const lpFileOp:SHFILEOPSTRUCTW): longint; external ShellDLL name 'SHFileOperationW'; +function SHGetPathFromIDList(_para1:LPCITEMIDLIST; _para2:LPTSTR):WINBOOL; external ShellDLL name 'SHGetPathFromIDList'; +function SHGetPathFromIDListW(_para1:LPCITEMIDLIST; _para2:LPTSTR):WINBOOL; external ShellDLL name 'SHGetPathFromIDList'; +function SHGetMalloc(var ppMalloc: LPMALLOC): HRESULT; external ShellDLL name 'SHGetMalloc'; +function SHGetSpecialFolderLocation(_para1:HWND; _para2:longint; var _para3:LPITEMIDLIST):HRESULT; external ShellDLL name 'SHGetSpecialFolderLocation'; + +{$endif read_interface} + +{$ifdef read_implementation} + + +{$endif read_implementation} diff --git a/packages/winceunits/src/simmgr.inc b/packages/winceunits/src/simmgr.inc deleted file mode 100644 index 0d49f7cfd4..0000000000 --- a/packages/winceunits/src/simmgr.inc +++ /dev/null @@ -1,540 +0,0 @@ -{ - This file is part of the Free Pascal run time library. - Copyright (c) 2007 Free Pascal development team. - - See the file COPYING.FPC, included in this distribution, - for details about the copyright. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - **********************************************************************} - -{ Declarations for tapi WinCE API, note than on WinCE simmgr functions originally - based in coredll.dll - - SIM Manager is an API set that allows access to information stored on the SIM Card - - This port based on Windows Mobile 5 Smartphone Edition SDK - contact S0vNark0m for more information snk_post@mail.ru (en, ru) -} - -{$ifdef read_interface} - -//***************************************************************************** -// consts -//***************************************************************************** - -const - SIM_ERRORCLASS_SIM = $02; // Problem with the SIM - SIM_ERRORCLASS_PASSWORD = $01; // Unspecified phone failure - SIM_ERRORCLASS_STORAGE = $03; // Error relating to storage - SIM_ERRORCLASS_NONE = $00; // Misc error - - FACILITY_SIM = $800; - - ERROR_BASE = Longword(SEVERITY_ERROR) shl 31 or Longword(FACILITY_SIM) shl 16; // C Macros conversion, internal def - - // Internal def = errclass shl 8 - MSE_ERRORCLASS_SIM = ERROR_BASE or Word(SIM_ERRORCLASS_SIM) shl 8; - MSE_ERRORCLASS_PASSWORD = ERROR_BASE or Word(SIM_ERRORCLASS_PASSWORD) shl 8; - MSE_ERRORCLASS_STORAGE = ERROR_BASE or Word(SIM_ERRORCLASS_STORAGE) shl 8; - MSE_ERRERRORCLASS_NONE = ERROR_BASE or Word(SIM_ERRORCLASS_NONE) shl 8; - - // Error | Various errors - SIM_E_SIMFAILURE = MSE_ERRORCLASS_SIM or $01; // SIM failure was detected - SIM_E_SIMBUSY = MSE_ERRORCLASS_SIM or $02; // SIM is busy - SIM_E_SIMWRONG = MSE_ERRORCLASS_SIM or $03; // Inorrect SIM was inserted - SIM_E_NOSIMMSGSTORAGE = MSE_ERRORCLASS_SIM or $04; // SIM isn't capable of storing messages - SIM_E_SIMTOOLKITBUSY = MSE_ERRORCLASS_SIM or $05; // SIM Application Toolkit is busy - SIM_E_SIMDOWNLOADERROR = MSE_ERRORCLASS_SIM or $06; // SIM data download error - SIM_E_SIMNOTINSERTED = MSE_ERRORCLASS_SIM or $07; // SIM isn't inserted into the phone - - SIM_E_PHSIMPINREQUIRED = MSE_ERRORCLASS_PASSWORD or $20; // PH-SIM PIN is required to perform this operation - SIM_E_PHFSIMPINREQUIRED = MSE_ERRORCLASS_PASSWORD or $21; // PH-FSIM PIN is required to perform this operation - SIM_E_PHFSIMPUKREQUIRED = MSE_ERRORCLASS_PASSWORD or $22; // PH-FSIM PUK is required to perform this operation - SIM_E_SIMPINREQUIRED = MSE_ERRORCLASS_PASSWORD or $23; // SIM PIN is required to perform this operation - SIM_E_SIMPUKREQUIRED = MSE_ERRORCLASS_PASSWORD or $24; // SIM PUK is required to perform this operation - SIM_E_INCORRECTPASSWORD = MSE_ERRORCLASS_PASSWORD or $25; // Incorrect password was supplied - SIM_E_SIMPIN2REQUIRED = MSE_ERRORCLASS_PASSWORD or $26; // SIM PIN2 is required to perform this operation - SIM_E_SIMPUK2REQUIRED = MSE_ERRORCLASS_PASSWORD or $27; // SIM PUK2 is required to perform this operation - SIM_E_NETWKPINREQUIRED = MSE_ERRORCLASS_PASSWORD or $28; // Network Personalization PIN is required to perform this operation - SIM_E_NETWKPUKREQUIRED = MSE_ERRORCLASS_PASSWORD or $29; // Network Personalization PUK is required to perform this operation - SIM_E_SUBSETPINREQUIRED = MSE_ERRORCLASS_PASSWORD or $2A; // Network Subset Personalization PIN is required to perform this operation - SIM_E_SUBSETPUKREQUIRED = MSE_ERRORCLASS_PASSWORD or $2B; // Network Subset Personalization PUK is required to perform this operation - SIM_E_SVCPINREQUIRED = MSE_ERRORCLASS_PASSWORD or $2C; // Service Provider Personalization PIN is required to perform this operation - SIM_E_SVCPUKREQUIRED = MSE_ERRORCLASS_PASSWORD or $2D; // Service Provider Personalization PUK is required to perform this operation - SIM_E_CORPPINREQUIRED = MSE_ERRORCLASS_PASSWORD or $2E; // Corporate Personalization PIN is required to perform this operation - SIM_E_CORPPUKREQUIRED = MSE_ERRORCLASS_PASSWORD or $2F; // Corporate Personalization PUK is required to perform this operation - - SIM_E_MEMORYFULL = MSE_ERRORCLASS_STORAGE or $40; // Storage memory is full - SIM_E_INVALIDINDEX = MSE_ERRORCLASS_STORAGE or $41; // Invalid storage index was supplied - SIM_E_NOTFOUND = MSE_ERRORCLASS_STORAGE or $42; // A requested storage entry was not found - SIM_E_MEMORYFAILURE = MSE_ERRORCLASS_STORAGE or $43; // Storage memory failure - SIM_E_SIMMSGSTORAGEFULL = MSE_ERRORCLASS_STORAGE or $44; // Message storage on the SIM is full - SIM_E_EMPTYINDEX = MSE_ERRORCLASS_STORAGE or $45; // Storage location is empty - - SIM_E_NOTREADY = MSE_ERRERRORCLASS_NONE or $60; // SIM isn't yet ready to perform the requested operation - SIM_E_SECURITYFAILURE = MSE_ERRERRORCLASS_NONE or $61; // SIM isn't yet ready to perform the requested operation - SIM_E_BUFFERTOOSMALL = MSE_ERRERRORCLASS_NONE or $62; // Buffer too small - SIM_E_NOTTEXTMESSAGE = MSE_ERRERRORCLASS_NONE or $63; // Requested SMS message is not a text message - SIM_E_NOSIM = MSE_ERRERRORCLASS_NONE or $64; // Device doesn't have a SIM - SIM_E_NETWORKERROR = MSE_ERRERRORCLASS_NONE or $65; // There was a network error - SIM_E_MOBILEERROR = MSE_ERRERRORCLASS_NONE or $66; // Mobile error - SIM_E_UNSUPPORTED = MSE_ERRERRORCLASS_NONE or $67; // The command is unsupported - SIM_E_BADPARAM = MSE_ERRERRORCLASS_NONE or $68; // Bad parameter - SIM_E_UNDETERMINED = MSE_ERRERRORCLASS_NONE or $69; // Undetermined error - SIM_E_RADIONOTPRESENT = MSE_ERRERRORCLASS_NONE or $6A; // The Radio is not present - SIM_E_RADIOOFF = MSE_ERRERRORCLASS_NONE or $6B; // The Radio is off - - // Callback | Various notifications that are passed to the callback - - SIM_NOTIFY_CARD_REMOVED = $100; // SIM card was removed; lpData is NULL - SIM_NOTIFY_FILE_REFRESH = $101; // Files on the SIM were refreshed; lpData points to a SIMFILEREFRESH structure - SIM_NOTIFY_MSG_STORED = $102; // A message was stored to the SIM; lpData points to a SIMMESSAGECHANGE structure - SIM_NOTIFY_MSG_DELETED = $103; // A message was removed from the SIM; lpData points to a SIMMESSAGECHANGE structure - SIM_NOTIFY_PBE_STORED = $104; // A phone book entry was stored to the SIM; lpData points to a SIMPBECHANGE structure - SIM_NOTIFY_PBE_DELETED = $105; // A phone book entry was removed from the SIM; lpData points to a SIMPBECHANGE structure - SIM_NOTIFY_MSG_RECEIVED = $106; // Class 2 SMS was sent directly to the SIM; lpData points to a SIMMESSAGECHANGE structure - SIM_NOTIFY_RADIOOFF = $107; // The Radio has been turned off but AT interpreter is still on; lpData is NULL - SIM_NOTIFY_RADIOON = $108; // The Radio is present and is now on; lpData is NULL - SIM_NOTIFY_RADIOPRESENT = $109; // A Radio Module/Driver has been installed; lpData is points to a DWORD which is 0 if the radio is OFF and 1 if the radio is ON - SIM_NOTIFY_RADIOREMOVED = $10A; // A Radio Module/Driver has been removed; lpData is NULL } - - // Parameter flags for SimInitialize - SIM_INIT_NONE = $00000000; // Do not send any notifications - SIM_INIT_SIMCARD_NOTIFICATIONS = $00000001; // Send SIM card related notifications - - // SIMPHONEBOOKENTRY - - SIM_PARAM_PBE_ADDRESS = $00000001; // lpszAddress field is valid - SIM_PARAM_PBE_ADDRESS_TYPE = $00000002; // dwAddressType field is valid - SIM_PARAM_PBE_NUMPLAN = $00000004; // dwNumPlan field is valid - SIM_PARAM_PBE_TEXT = $00000008; // lpszText field is valid - SIM_PARAM_PBE_ALL = $0000000f; // All fields are valid - - // SIMMESSAGE - - SIM_PARAM_MSG_ADDRESS = $00000001; // lpszAddress field is valid - SIM_PARAM_MSG_ADDRESS_TYPE = $00000002; // dwAddressType field is valid - SIM_PARAM_MSG_NUMPLAN = $00000004; // dwNumPlan field is valid - SIM_PARAM_MSG_RECEIVE_TIME = $00000008; // stReceiveTime field is valid - SIM_PARAM_MSG_HEADER = $00000010; // rgbHeader field is valid - SIM_PARAM_MSG_HEADER_LENGTH = $00000020; // cbHdrLength field is valid - SIM_PARAM_MSG_MESSAGE = $00000040; // lpszMessage field is valid - SIM_PARAM_MSG_ALL = $0000007f; // All fields are valid - - // SIMCAPS } - - SIM_PARAM_CAPS_PBSTORAGES = $00000001; // dwPBStorages field is valid - SIM_PARAM_CAPS_PBEMAXADDRESSLENGTH = $00000002; // dwPBEMaxAddressLength field is valid - SIM_PARAM_CAPS_PBEMAXTEXTLENGTH = $00000004; // dwPBEMaxTextLength field is valid - SIM_PARAM_CAPS_PBEMININDEX = $00000008; // dwMinPBIndex field is valid - SIM_PARAM_CAPS_PBEMAXINDEX = $00000010; // dwMaxPBIndex field is valid - SIM_PARAM_CAPS_LOCKFACILITIES = $00000020; // dwLockFacilities field is valid - SIM_PARAM_CAPS_LOCKINGPWDLENGTH = $00000040; // dwNumLockingPwdLengths and rgLockingPwdLengths fields are valid - SIM_PARAM_CAPS_READMSGSTORAGES = $00000080; // dwReadMsgStorages field is valid - SIM_PARAM_CAPS_WRITEMSGSTORAGES = $00000100; // dwWriteMsgStorages field is valid - SIM_PARAM_CAPS_ALL = $000001ff; // All fields are valid - - // SIMRECORDINFO - - SIM_PARAM_RECORDINFO_RECORDTYPE = $00000001; // dwRecordType field is valid - SIM_PARAM_RECORDINFO_ITEMCOUNT = $00000002; // dwItemCount field is valid - SIM_PARAM_RECORDINFO_SIZE = $00000004; // dwSize field is valid - SIM_PARAM_RECORDINFO_ALL = $00000007; // All fields are valid - - // SIMFILEREFRESH } - - SIM_PARAM_FILEREFRESH_FLAGS = $00000001; // dwFlags field is valid - SIM_PARAM_FILEREFRESH_FILECOUNT = $00000002; // dwFileCount field is valid - SIM_PARAM_FILEREFRESH_FILEARRAY = $00000004; // rgdwAddress field is valid - SIM_PARAM_FILEREFRESH_ALL = $00000007; // All fields are valid - - // Phonebook Storage | Phone book storage locations } - - SIM_PBSTORAGE_EMERGENCY = $00000001; // Emergency dial list - SIM_PBSTORAGE_FIXEDDIALING = $00000002; // SIM fixed dialing list - SIM_PBSTORAGE_LASTDIALING = $00000004; // SIM last dialing list - SIM_PBSTORAGE_OWNNUMBERS = $00000008; // SIM ownnumbers lists - SIM_PBSTORAGE_SIM = $00000010; // General SIM Storage - SIM_NUMPBSTORAGES = 5; // Number of phonebook storages - - // SIM DevCaps | Device Capabilities } - - SIM_CAPSTYPE_PBENTRYLENGTH = $00000001; // Phonebook entry lengths - SIM_CAPSTYPE_PBSTORELOCATIONS = $00000002; // Phonebook storage locations - SIM_CAPSTYPE_LOCKFACILITIES = $00000004; // Lock facilities - SIM_CAPSTYPE_PBINDEXRANGE = $00000008; // Valid phonebook entry indexes - SIM_CAPSTYPE_LOCKINGPWDLENGTHS = $00000010; // Locking password lengths - SIM_CAPSTYPE_MSGMEMORYLOCATIONS = $00000020; // Message memory locations - SIM_CAPSTYPE_ALL = $0000003F; // All of the above - - // SMS Storage | SMS storage locations } - - SIM_SMSSTORAGE_BROADCAST = $00000001; // Broadcast message storage location - SIM_SMSSTORAGE_SIM = $00000002; // SIM storage location - SIM_NUMSMSSTORAGES = 2; // Number of message storage locations - - // Address Type | Defines different address types } - - SIM_ADDRTYPE_UNKNOWN = $00000000; // Unknown - SIM_ADDRTYPE_INTERNATIONAL = $00000001; // International number - SIM_ADDRTYPE_NATIONAL = $00000002; // National number - SIM_ADDRTYPE_NETWKSPECIFIC = $00000003; // Network specific number - SIM_ADDRTYPE_SUBSCRIBER = $00000004; // Subscriber number (protocol-specific) - SIM_ADDRTYPE_ALPHANUM = $00000005; // Alphanumeric address - SIM_ADDRTYPE_ABBREV = $00000006; // Abbreviated number - - // Numbering Plan | Defines different numbering plans for SIM_ADDRTYPE_UNKNOWN, - // SIM_ADDRTYPE_INTERNATIONAL, and SIM_ADDRTYPE_NATIONAL - - SIM_NUMPLAN_UNKNOWN = $00000000; // Unknown - SIM_NUMPLAN_TELEPHONE = $00000001; // ISDN/telephone numbering plan (E.164/E.163) - SIM_NUMPLAN_DATA = $00000002; // Data numbering plan (X.121) - SIM_NUMPLAN_TELEX = $00000003; // Telex numbering plan - SIM_NUMPLAN_NATIONAL = $00000004; // National numbering plan - SIM_NUMPLAN_PRIVATE = $00000005; // Private numbering plan - SIM_NUMPLAN_ERMES = $00000006; // ERMES numbering plan (ETSI DE/PS 3 01-3) - - // Phone Locked | Indicates if the phone is currently locked (i.e. - // awaiting password) and what password to enter - - SIM_LOCKEDSTATE_UNKNOWN = $00000000; // Locking state is unknown - SIM_LOCKEDSTATE_READY = $00000001; // Not awaiting a password (unlocked) - SIM_LOCKEDSTATE_SIM_PIN = $00000002; // Awaiting the SIM PIN - SIM_LOCKEDSTATE_SIM_PUK = $00000003; // Awaiting the SIM PUK - SIM_LOCKEDSTATE_PH_SIM_PIN = $00000004; // Awaiting the Phone to SIM Personalization PIN - SIM_LOCKEDSTATE_PH_FSIM_PIN = $00000005; // Awaiting the Phone to first SIM Personalization PIN - SIM_LOCKEDSTATE_PH_FSIM_PUK = $00000006; // Awaiting the Phone to first SIM Personalization PUK - SIM_LOCKEDSTATE_SIM_PIN2 = $00000007; // Awaiting the SIM PIN2 - SIM_LOCKEDSTATE_SIM_PUK2 = $00000008; // Awaiting the SIM PUK2 - SIM_LOCKEDSTATE_PH_NET_PIN = $00000009; // Awaiting the Network Personalization PIN - SIM_LOCKEDSTATE_PH_NET_PUK = $0000000a; // Awaiting the Network Personalization PUK - SIM_LOCKEDSTATE_PH_NETSUB_PIN = $0000000b; // Awaiting the Network Subset Personalization PIN - SIM_LOCKEDSTATE_PH_NETSUB_PUK = $0000000c; // Awaiting the Network Subset Personalization PUK - SIM_LOCKEDSTATE_PH_SP_PIN = $0000000d; // Awaiting the Service Provider Personalization PIN - SIM_LOCKEDSTATE_PH_SP_PUK = $0000000e; // Awaiting the Service Provider Personalization PUK - SIM_LOCKEDSTATE_PH_CORP_PIN = $0000000f; // Awaiting the Corporate Personalization PIN - SIM_LOCKEDSTATE_PH_CORP_PUK = $00000010; // Awaiting the Corporate Personalization PUK - - // Phonebook Misc | Special phonebook constants } - - SIM_PBINDEX_FIRSTAVAILABLE = $ffffffff; // Use first phonebook storage entry available - - // Phone Locking | Indicates the phone's locking behavior } - - SIM_LOCKFACILITY_CNTRL = $00000001; // Lock control curface - SIM_LOCKFACILITY_PH_SIM = $00000002; // Lock phone to SIM card - SIM_LOCKFACILITY_PH_FSIM = $00000004; // Lock phone to first SIM card - SIM_LOCKFACILITY_SIM = $00000008; // Lock SIM card - SIM_LOCKFACILITY_SIM_PIN2 = $00000010; // Lock SIM card - SIM_LOCKFACILITY_SIM_FIXEDIALING = $00000020; // SIM fixed dialing memory - SIM_LOCKFACILITY_NETWORKPERS = $00000040; // Network personalization - SIM_LOCKFACILITY_NETWORKSUBPERS = $00000080; // Network subset personalization - SIM_LOCKFACILITY_SERVICEPROVPERS = $00000100; // Service provider personalization - SIM_LOCKFACILITY_CORPPERS = $00000200; // Corporate personalization - SIM_NUMLOCKFACILITIES = 10; // Number of locking facilities - - // SIM Record | Different SIM file types - SIM_RECORDTYPE_UNKNOWN = $00000000; // An unknown file type - SIM_RECORDTYPE_TRANSPARENT = $00000001; // A single veriable lengthed record - SIM_RECORDTYPE_CYCLIC = $00000002; // A cyclic set of records, each of the same length - SIM_RECORDTYPE_LINEAR = $00000003; // A linear set of records, each of the same length - SIM_RECORDTYPE_MASTER = $00000004; // Every SIM has a single master record, effectively the head node - SIM_RECORDTYPE_DEDICATED = $00000005; // Effectively a "directory" file which is a parent of other records - - // SIM Record Refresh | Different ways of being notified that SIM - // have been updated - SIMFILE_FULLFILECHANGE = $00000001; // All files have been changed - SIMFILE_FILECHANGE = $00000002; // Only a few files have been changed - SIMFILE_SIMINIT = $00000004; // SIM Initiailization - SIMFILE_SIMRESET = $00000008; // Reset the SIM - - // Max_Length | Maximum length constants } - MAX_LENGTH_ADDRESS = 256; // Maximum length of an address - MAX_LENGTH_PHONEBOOKENTRYTEXT = 256; // Maximum length of text in a phonebook entry - MAX_LENGTH_HEADER = 256; // Maximum length of a SMS header - MAX_LENGTH_MESSAGE = 256; // Maximum length of a SMS message - MAX_FILES = 32; // Maximum number of files in a file change list - -//***************************************************************************** -// types -//***************************************************************************** - -type - - // HSIM | Handle to a SIM } - - HSIM = HANDLE; - LPHSIM = ^HSIM; - - // SIMPHONEBOOKENTRY | A SIM phonebook entry - - simphonebookentry_tag = record - cbSize : DWORD; // Size of the structure in bytes - dwParams : DWORD; // Indicates valid parameter values - lpszAddress : array[0..(MAX_LENGTH_ADDRESS)-1] of TCHAR; // The actual phone number - dwAddressType : DWORD; // A SIM_ADDRTYPE_* constant - dwNumPlan : DWORD; // A SIM_NUMPLAN_* constant - lpszText : array[0..(MAX_LENGTH_PHONEBOOKENTRYTEXT)-1] of TCHAR; // Text assocaited with the entry - end; - TSIMPHONEBOOKENTRY = simphonebookentry_tag; - LPSIMPHONEBOOKENTRY = ^simphonebookentry_tag; - - // SIMMESSAGE | A SIM message entry - - simmessage_tag = record - cbSize : DWORD; // Size of the structure in bytes - dwParams : DWORD; // Indicates valid parameter values - lpszAddress : array[0..(MAX_LENGTH_ADDRESS)-1] of TCHAR; // The actual phone number - dwAddressType : DWORD; // A SIM_ADDRTYPE_* constant - dwNumPlan : DWORD; // A SIM_NUMPLAN_* constant - stReceiveTime : SYSTEMTIME; // Timestamp for the incoming message - cbHdrLength : DWORD; // Header length in bytes - rgbHeader : array[0..(MAX_LENGTH_HEADER)-1] of BYTE; // The actual header data - lpszMessage : array[0..(MAX_LENGTH_MESSAGE)-1] of TCHAR; // The actual message data - end; - TSIMMESSAGE = simmessage_tag; - LPSIMMESSAGE = ^simmessage_tag; - - // SIMLOCKINGPWDLENGTH | Minimum password length } - - simlockingpwdlength = record - dwFacility : DWORD; // The locking facility - dwPasswordLength : DWORD; // The minimum password length - end; - LPSIMLOCKINGPWDLENGTH = ^simlockingpwdlength; - - // SIMCAPS | Capabilities of the SIM - simcaps_tag = record - cbSize : DWORD; // Size of the structure in bytes - dwParams : DWORD; // Indicates valid parameter values - dwPBStorages : DWORD; // Supported phonebook storages - dwMinPBIndex : DWORD; // Minimum phonebook storages - dwMaxPBIndex : DWORD; // Maximum phonebook storages - dwMaxPBEAddressLength : DWORD; // Maximum address length of phonebook entries - dwMaxPBETextLength : DWORD; // Maximum text length of phonebook entries - dwLockFacilities : DWORD; // Supported locking facilities - dwReadMsgStorages : DWORD; // Supported read message stores - dwWriteMsgStorages : DWORD; // Supported write message stores - dwNumLockingPwdLengths : DWORD; // Number of entries in rgLockingPwdLengths - rgLockingPwdLengths : array[0..(SIM_NUMLOCKFACILITIES)-1] of SIMLOCKINGPWDLENGTH; // Password lengths for each facility - end; - TSIMCAPS = simcaps_tag; - LPSIMCAPS = ^simcaps_tag; - - // SIMRECORDINFO | Information about a particular SIM file - - simrecordinfo_tag = record - cbSize : DWORD; // Size of the structure in bytes - dwParams : DWORD; // Indicates valid parameter values - dwRecordType : DWORD; // SIM_RECORDTYPE_* Constant - dwItemCount : DWORD; // Number of items in the record - dwSize : DWORD; // Size in bytes of each item - end; - TSIMRECORDINFO = simrecordinfo_tag; - LPSIMRECORDINFO = ^simrecordinfo_tag; - - // SIMFILEREFRESH | Information about which file(s) have been updated - - simfilerefresh_tag = record - cbSize : DWORD; // Size of the structure in bytes - dwParams : DWORD; // Indicates valid parameter values - dwFlags : DWORD; // Combination of SIMFILE_* constants - dwFileCount : DWORD; // Number of files in the update list - rgdwAddress : array[0..(MAX_FILES)-1] of DWORD; // Array of files - end; - TSIMFILEREFRESH = simfilerefresh_tag; - LPSIMFILEREFRESH = ^simfilerefresh_tag; - - // SIMPBECHANGE | Information about which SIM Phonebook entries have changed - - simpbechange_tag = record - dwEntry : DWORD; // The index of the entry that has changed - dwStorage : DWORD; // SIM_PBSTORAGE_* constant detailing which phonebook this entry is in - end; - TSIMPBECHANGE = simpbechange_tag; - LPSIMPBECHANGE = ^simpbechange_tag; - - // SIMMESSAGECHANGE | Information about which SMS messages on the SIM have changed } - - simmessagechange_tag = record - dwEntry : DWORD; // The index of the entry that has changed - dwStorage : DWORD; // SIM_SMSSTORAGE_* constant details which storage location this entry is in - end; - TSIMMESSAGECHANGE = simmessagechange_tag; - LPSIMMESSAGECHANGE = ^simmessagechange_tag; - - // This is the callback function prototype used by SIM Manager when - // sending notifications. - // - - // Indicates type of notification received - // Points to data structure specific to the notification - // Size of data structure in bytes - // Parameter passed to simInititialize - TSIMCALLBACK = procedure (dwNotifyCode:DWORD; const pData:pointer; dwDataSize:DWORD; dwParam:DWORD); - -//***************************************************************************** -// functions -//***************************************************************************** - -// This function must be called by applications in order to use any of the -// functions in this API. -// Passing in a function callback is required only for applications that -// wish to obtain notifications. -// - -// Indicates which notifications to receive -// Function callback for notifications, may be NULL if notifications are not desired -// Parameter to pass on each notification function call, may be NULL -// Points to a HSIM handle to use on subsequent function calls -function SimInitialize(dwFlags:DWORD; lpfnCallBack:TSIMCALLBACK; dwParam:DWORD; lphSim:LPHSIM):HRESULT;external KernelDLL name 'SimInitialize'; - -// This function deinitializes an HSIM handle. -// - -// A valid HSIM handle to deinitialize -function SimDeinitialize(hSim:HSIM):HRESULT;external KernelDLL name 'SimDeinitialize'; - -// Gets the device capabilities of the SIM. -// - -// Points to a valid HSIM handle -// Which device capabilities are we interested in? -// Capabilities structure -function SimGetDevCaps(hSim:HSIM; dwCapsType:DWORD; lpSimCaps:LPSIMCAPS):HRESULT;external KernelDLL name 'SimGetDevCaps'; - -// Reads a phonebook entry off the SIM card. -// - -// Points to a valid HSIM handle -// A SIMPBSTORAGE_* Constant -// Index of the entry to retrieve -// Points to a phonebook entry structure -function SimReadPhonebookEntry(hSim:HSIM; dwLocation:DWORD; dwIndex:DWORD; lpPhonebookEntry:LPSIMPHONEBOOKENTRY):HRESULT;external KernelDLL name 'SimReadPhonebookEntry'; - -// Gets the status of a phonebook location. -// - -// Points to a valid HSIM handle -// A SIMPBSTORAGE_* Constant -// Nubmer of used locations -// Total number of locations -function SimGetPhonebookStatus(hSim:HSIM; dwLocation:DWORD; lpdwUsed:LPDWORD; lpdwTotal:LPDWORD):HRESULT;external KernelDLL name 'SimGetPhonebookStatus'; - -// Writes a phonebook entry to the SIM card. -// - -// Points to a valid HSIM handle -// A SIMPBSTORAGE_* Constant -// Index of the entry to retrieve (may be SIM_PBINDEX_FIRSTAVAILABLE) -// Points to a phonebook entry structure -function SimWritePhonebookEntry(hSim:HSIM; dwLocation:DWORD; dwIndex:DWORD; lpPhonebookEntry:LPSIMPHONEBOOKENTRY):HRESULT;external KernelDLL name 'SimWritePhonebookEntry'; - -// Deletes a phonebook entry from the SIM card. -// - -// Points to a valid HSIM handle -// A SIMPBSTORAGE_* Constant -// Index of the entry to retrieve -function SimDeletePhonebookEntry(hSim:HSIM; dwLocation:DWORD; dwIndex:DWORD):HRESULT;external KernelDLL name 'SimDeletePhonebookEntry'; - -// Checks if the SIM is currently awaiting a password. -// This is called when powering on the phone. -// - -// Points to a valid HSIM handle -// Points to a SIM_LOCKEDSTATE_* constant -function SimGetPhoneLockedState(hSim:HSIM; lpdwLockedState:LPDWORD):HRESULT;external KernelDLL name 'SimGetPhoneLockedState'; - -// Sends a password to unlock the phone. -// - -// Points to a valid HSIM handle -// Points to password string -// Some locked states require a second password (e.g. PUK requires a new PIN to replace the old, presumably forgotten PIN) -function SimUnlockPhone(hSim:HSIM; lpszPassword:LPTSTR; lpszNewPin:LPTSTR):HRESULT;external KernelDLL name 'SimUnlockPhone'; - -// Gets the locking status of the phone. -// - -// Points to a valid HSIM handle -// A SIMLOCKFACILITY_* constant -// Some facilities require a password -// Enabled or diabled -function SimGetLockingStatus(hSim:HSIM; dwLockingFacility:DWORD; lpszPassword:LPTSTR; var pfEnabled:BOOL):HRESULT;external KernelDLL name 'SimGetLockingStatus'; - -// Sets the locking status of the phone. -// - -// Points to a valid HSIM handle -// A SIMLOCKFACILITY_* constant -// Some facilities require a password -// Enable or diable -function SimSetLockingStatus(hSim:HSIM; dwLockingFacility:DWORD; lpszPassword:LPTSTR; fEnabled:BOOL):HRESULT;external KernelDLL name 'SimSetLockingStatus'; - -// Changes a locking password. -// - -// Points to a valid HSIM handle -// A SIMLOCKFACILITY_* constant -// The old password -// The new password -function SimChangeLockingPassword(hSim:HSIM; dwLockingFacility:DWORD; lpszOldPassword:LPTSTR; lpszNewPassword:LPTSTR):HRESULT;external KernelDLL name 'SimChangeLockingPassword'; - -// Gets the status of a SMS storage location. -// - -// Points to a valid HSIM handle -// A SIM_SMSSTORAGE_* constant -// Nubmer of used locations -// Total number of locations -function SimGetSmsStorageStatus(hSim:HSIM; dwStorage:DWORD; lpdwUsed:LPDWORD; lpdwTotal:LPDWORD):HRESULT;external KernelDLL name 'SimGetSmsStorageStatus'; - -// Reads an SMS from a particular storage location. -// - -// Points to a valid HSIM handle -// A SIM_SMSSTORAGE_* constant -// Index of the entry to retrieve -// Points to an SMS message structure -function SimReadMessage(hSim:HSIM; dwStorage:DWORD; dwIndex:DWORD; lpSimMessage:LPSIMMESSAGE):HRESULT;external KernelDLL name 'SimReadMessage'; - -// Writes an SMS to a particular storage location. -// Note that SMS messages are always written to the first available storage location -// - -// lpdwIndex will be set to the index to which the message was written -// Points to a valid HSIM handle -// A SIM_SMSSTORAGE_* constant -// Set to the index where the message was written -// Points to an SMS message structure -function SimWriteMessage(hSim:HSIM; dwStorage:DWORD; lpdwIndex:LPDWORD; lpSimMessage:LPSIMMESSAGE):HRESULT;external KernelDLL name 'SimWriteMessage'; - -// Deletes an SMS from a particular storage location. -// - -// Points to a valid HSIM handle -// A SIM_SMSSTORAGE_* constant -// Index of the entry to retrieve -function SimDeleteMessage(hSim:HSIM; dwStorage:DWORD; dwIndex:DWORD):HRESULT;external KernelDLL name 'SimDeleteMessage'; - -// Reads a file form the SIM. -// - -// Points to a valid HSIM handle -// SIM address -// A SIM_RECORDTYPE_* constant -// Applies only to SIM_RECORDTYPE_CYCLIC and SIM_RECORDTYPE_LINEAR, otherwise ignored -// Data buffer -// Size of data buffer -// Number of bytes read -function SimReadRecord(hSim:HSIM; dwAddress:DWORD; dwRecordType:DWORD; dwIndex:DWORD; - lpData: LPBYTE; dwBufferSize: DWORD; lpdwBytesRead: LPDWORD):HRESULT;external KernelDLL name 'SimReadRecord'; - -// Writes a file to the SIM. -// - -// Points to a valid HSIM handle -// SIM address -// A SIM_RECORDTYPE_* constant -// Applies only to SIM_RECORDTYPE_CYCLIC and SIM_RECORDTYPE_LINEAR, otherwise ignored -function SimWriteRecord(hSim:HSIM; dwAddress:DWORD; dwRecordType:DWORD; dwIndex:DWORD; - lpData: LPBYTE; dwByteCount: DWORD):HRESULT;external KernelDLL name 'SimWriteRecord'; - -// Gets information about a particular record. -// - -// Points to a valid HSIM handle -// SIM address -// Points to a SIM record information structure -function SimGetRecordInfo(hSim:HSIM; dwAddress:DWORD; lpSimRecordInfo:LPSIMRECORDINFO):HRESULT;external KernelDLL name 'SimGetRecordInfo'; - -{$endif read_interface} - -{$ifdef read_implementation} - -{$endif read_implementation} diff --git a/packages/winceunits/src/simmgr.pp b/packages/winceunits/src/simmgr.pp new file mode 100644 index 0000000000..0d49f7cfd4 --- /dev/null +++ b/packages/winceunits/src/simmgr.pp @@ -0,0 +1,540 @@ +{ + This file is part of the Free Pascal run time library. + Copyright (c) 2007 Free Pascal development team. + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + +{ Declarations for tapi WinCE API, note than on WinCE simmgr functions originally + based in coredll.dll + + SIM Manager is an API set that allows access to information stored on the SIM Card + + This port based on Windows Mobile 5 Smartphone Edition SDK + contact S0vNark0m for more information snk_post@mail.ru (en, ru) +} + +{$ifdef read_interface} + +//***************************************************************************** +// consts +//***************************************************************************** + +const + SIM_ERRORCLASS_SIM = $02; // Problem with the SIM + SIM_ERRORCLASS_PASSWORD = $01; // Unspecified phone failure + SIM_ERRORCLASS_STORAGE = $03; // Error relating to storage + SIM_ERRORCLASS_NONE = $00; // Misc error + + FACILITY_SIM = $800; + + ERROR_BASE = Longword(SEVERITY_ERROR) shl 31 or Longword(FACILITY_SIM) shl 16; // C Macros conversion, internal def + + // Internal def = errclass shl 8 + MSE_ERRORCLASS_SIM = ERROR_BASE or Word(SIM_ERRORCLASS_SIM) shl 8; + MSE_ERRORCLASS_PASSWORD = ERROR_BASE or Word(SIM_ERRORCLASS_PASSWORD) shl 8; + MSE_ERRORCLASS_STORAGE = ERROR_BASE or Word(SIM_ERRORCLASS_STORAGE) shl 8; + MSE_ERRERRORCLASS_NONE = ERROR_BASE or Word(SIM_ERRORCLASS_NONE) shl 8; + + // Error | Various errors + SIM_E_SIMFAILURE = MSE_ERRORCLASS_SIM or $01; // SIM failure was detected + SIM_E_SIMBUSY = MSE_ERRORCLASS_SIM or $02; // SIM is busy + SIM_E_SIMWRONG = MSE_ERRORCLASS_SIM or $03; // Inorrect SIM was inserted + SIM_E_NOSIMMSGSTORAGE = MSE_ERRORCLASS_SIM or $04; // SIM isn't capable of storing messages + SIM_E_SIMTOOLKITBUSY = MSE_ERRORCLASS_SIM or $05; // SIM Application Toolkit is busy + SIM_E_SIMDOWNLOADERROR = MSE_ERRORCLASS_SIM or $06; // SIM data download error + SIM_E_SIMNOTINSERTED = MSE_ERRORCLASS_SIM or $07; // SIM isn't inserted into the phone + + SIM_E_PHSIMPINREQUIRED = MSE_ERRORCLASS_PASSWORD or $20; // PH-SIM PIN is required to perform this operation + SIM_E_PHFSIMPINREQUIRED = MSE_ERRORCLASS_PASSWORD or $21; // PH-FSIM PIN is required to perform this operation + SIM_E_PHFSIMPUKREQUIRED = MSE_ERRORCLASS_PASSWORD or $22; // PH-FSIM PUK is required to perform this operation + SIM_E_SIMPINREQUIRED = MSE_ERRORCLASS_PASSWORD or $23; // SIM PIN is required to perform this operation + SIM_E_SIMPUKREQUIRED = MSE_ERRORCLASS_PASSWORD or $24; // SIM PUK is required to perform this operation + SIM_E_INCORRECTPASSWORD = MSE_ERRORCLASS_PASSWORD or $25; // Incorrect password was supplied + SIM_E_SIMPIN2REQUIRED = MSE_ERRORCLASS_PASSWORD or $26; // SIM PIN2 is required to perform this operation + SIM_E_SIMPUK2REQUIRED = MSE_ERRORCLASS_PASSWORD or $27; // SIM PUK2 is required to perform this operation + SIM_E_NETWKPINREQUIRED = MSE_ERRORCLASS_PASSWORD or $28; // Network Personalization PIN is required to perform this operation + SIM_E_NETWKPUKREQUIRED = MSE_ERRORCLASS_PASSWORD or $29; // Network Personalization PUK is required to perform this operation + SIM_E_SUBSETPINREQUIRED = MSE_ERRORCLASS_PASSWORD or $2A; // Network Subset Personalization PIN is required to perform this operation + SIM_E_SUBSETPUKREQUIRED = MSE_ERRORCLASS_PASSWORD or $2B; // Network Subset Personalization PUK is required to perform this operation + SIM_E_SVCPINREQUIRED = MSE_ERRORCLASS_PASSWORD or $2C; // Service Provider Personalization PIN is required to perform this operation + SIM_E_SVCPUKREQUIRED = MSE_ERRORCLASS_PASSWORD or $2D; // Service Provider Personalization PUK is required to perform this operation + SIM_E_CORPPINREQUIRED = MSE_ERRORCLASS_PASSWORD or $2E; // Corporate Personalization PIN is required to perform this operation + SIM_E_CORPPUKREQUIRED = MSE_ERRORCLASS_PASSWORD or $2F; // Corporate Personalization PUK is required to perform this operation + + SIM_E_MEMORYFULL = MSE_ERRORCLASS_STORAGE or $40; // Storage memory is full + SIM_E_INVALIDINDEX = MSE_ERRORCLASS_STORAGE or $41; // Invalid storage index was supplied + SIM_E_NOTFOUND = MSE_ERRORCLASS_STORAGE or $42; // A requested storage entry was not found + SIM_E_MEMORYFAILURE = MSE_ERRORCLASS_STORAGE or $43; // Storage memory failure + SIM_E_SIMMSGSTORAGEFULL = MSE_ERRORCLASS_STORAGE or $44; // Message storage on the SIM is full + SIM_E_EMPTYINDEX = MSE_ERRORCLASS_STORAGE or $45; // Storage location is empty + + SIM_E_NOTREADY = MSE_ERRERRORCLASS_NONE or $60; // SIM isn't yet ready to perform the requested operation + SIM_E_SECURITYFAILURE = MSE_ERRERRORCLASS_NONE or $61; // SIM isn't yet ready to perform the requested operation + SIM_E_BUFFERTOOSMALL = MSE_ERRERRORCLASS_NONE or $62; // Buffer too small + SIM_E_NOTTEXTMESSAGE = MSE_ERRERRORCLASS_NONE or $63; // Requested SMS message is not a text message + SIM_E_NOSIM = MSE_ERRERRORCLASS_NONE or $64; // Device doesn't have a SIM + SIM_E_NETWORKERROR = MSE_ERRERRORCLASS_NONE or $65; // There was a network error + SIM_E_MOBILEERROR = MSE_ERRERRORCLASS_NONE or $66; // Mobile error + SIM_E_UNSUPPORTED = MSE_ERRERRORCLASS_NONE or $67; // The command is unsupported + SIM_E_BADPARAM = MSE_ERRERRORCLASS_NONE or $68; // Bad parameter + SIM_E_UNDETERMINED = MSE_ERRERRORCLASS_NONE or $69; // Undetermined error + SIM_E_RADIONOTPRESENT = MSE_ERRERRORCLASS_NONE or $6A; // The Radio is not present + SIM_E_RADIOOFF = MSE_ERRERRORCLASS_NONE or $6B; // The Radio is off + + // Callback | Various notifications that are passed to the callback + + SIM_NOTIFY_CARD_REMOVED = $100; // SIM card was removed; lpData is NULL + SIM_NOTIFY_FILE_REFRESH = $101; // Files on the SIM were refreshed; lpData points to a SIMFILEREFRESH structure + SIM_NOTIFY_MSG_STORED = $102; // A message was stored to the SIM; lpData points to a SIMMESSAGECHANGE structure + SIM_NOTIFY_MSG_DELETED = $103; // A message was removed from the SIM; lpData points to a SIMMESSAGECHANGE structure + SIM_NOTIFY_PBE_STORED = $104; // A phone book entry was stored to the SIM; lpData points to a SIMPBECHANGE structure + SIM_NOTIFY_PBE_DELETED = $105; // A phone book entry was removed from the SIM; lpData points to a SIMPBECHANGE structure + SIM_NOTIFY_MSG_RECEIVED = $106; // Class 2 SMS was sent directly to the SIM; lpData points to a SIMMESSAGECHANGE structure + SIM_NOTIFY_RADIOOFF = $107; // The Radio has been turned off but AT interpreter is still on; lpData is NULL + SIM_NOTIFY_RADIOON = $108; // The Radio is present and is now on; lpData is NULL + SIM_NOTIFY_RADIOPRESENT = $109; // A Radio Module/Driver has been installed; lpData is points to a DWORD which is 0 if the radio is OFF and 1 if the radio is ON + SIM_NOTIFY_RADIOREMOVED = $10A; // A Radio Module/Driver has been removed; lpData is NULL } + + // Parameter flags for SimInitialize + SIM_INIT_NONE = $00000000; // Do not send any notifications + SIM_INIT_SIMCARD_NOTIFICATIONS = $00000001; // Send SIM card related notifications + + // SIMPHONEBOOKENTRY + + SIM_PARAM_PBE_ADDRESS = $00000001; // lpszAddress field is valid + SIM_PARAM_PBE_ADDRESS_TYPE = $00000002; // dwAddressType field is valid + SIM_PARAM_PBE_NUMPLAN = $00000004; // dwNumPlan field is valid + SIM_PARAM_PBE_TEXT = $00000008; // lpszText field is valid + SIM_PARAM_PBE_ALL = $0000000f; // All fields are valid + + // SIMMESSAGE + + SIM_PARAM_MSG_ADDRESS = $00000001; // lpszAddress field is valid + SIM_PARAM_MSG_ADDRESS_TYPE = $00000002; // dwAddressType field is valid + SIM_PARAM_MSG_NUMPLAN = $00000004; // dwNumPlan field is valid + SIM_PARAM_MSG_RECEIVE_TIME = $00000008; // stReceiveTime field is valid + SIM_PARAM_MSG_HEADER = $00000010; // rgbHeader field is valid + SIM_PARAM_MSG_HEADER_LENGTH = $00000020; // cbHdrLength field is valid + SIM_PARAM_MSG_MESSAGE = $00000040; // lpszMessage field is valid + SIM_PARAM_MSG_ALL = $0000007f; // All fields are valid + + // SIMCAPS } + + SIM_PARAM_CAPS_PBSTORAGES = $00000001; // dwPBStorages field is valid + SIM_PARAM_CAPS_PBEMAXADDRESSLENGTH = $00000002; // dwPBEMaxAddressLength field is valid + SIM_PARAM_CAPS_PBEMAXTEXTLENGTH = $00000004; // dwPBEMaxTextLength field is valid + SIM_PARAM_CAPS_PBEMININDEX = $00000008; // dwMinPBIndex field is valid + SIM_PARAM_CAPS_PBEMAXINDEX = $00000010; // dwMaxPBIndex field is valid + SIM_PARAM_CAPS_LOCKFACILITIES = $00000020; // dwLockFacilities field is valid + SIM_PARAM_CAPS_LOCKINGPWDLENGTH = $00000040; // dwNumLockingPwdLengths and rgLockingPwdLengths fields are valid + SIM_PARAM_CAPS_READMSGSTORAGES = $00000080; // dwReadMsgStorages field is valid + SIM_PARAM_CAPS_WRITEMSGSTORAGES = $00000100; // dwWriteMsgStorages field is valid + SIM_PARAM_CAPS_ALL = $000001ff; // All fields are valid + + // SIMRECORDINFO + + SIM_PARAM_RECORDINFO_RECORDTYPE = $00000001; // dwRecordType field is valid + SIM_PARAM_RECORDINFO_ITEMCOUNT = $00000002; // dwItemCount field is valid + SIM_PARAM_RECORDINFO_SIZE = $00000004; // dwSize field is valid + SIM_PARAM_RECORDINFO_ALL = $00000007; // All fields are valid + + // SIMFILEREFRESH } + + SIM_PARAM_FILEREFRESH_FLAGS = $00000001; // dwFlags field is valid + SIM_PARAM_FILEREFRESH_FILECOUNT = $00000002; // dwFileCount field is valid + SIM_PARAM_FILEREFRESH_FILEARRAY = $00000004; // rgdwAddress field is valid + SIM_PARAM_FILEREFRESH_ALL = $00000007; // All fields are valid + + // Phonebook Storage | Phone book storage locations } + + SIM_PBSTORAGE_EMERGENCY = $00000001; // Emergency dial list + SIM_PBSTORAGE_FIXEDDIALING = $00000002; // SIM fixed dialing list + SIM_PBSTORAGE_LASTDIALING = $00000004; // SIM last dialing list + SIM_PBSTORAGE_OWNNUMBERS = $00000008; // SIM ownnumbers lists + SIM_PBSTORAGE_SIM = $00000010; // General SIM Storage + SIM_NUMPBSTORAGES = 5; // Number of phonebook storages + + // SIM DevCaps | Device Capabilities } + + SIM_CAPSTYPE_PBENTRYLENGTH = $00000001; // Phonebook entry lengths + SIM_CAPSTYPE_PBSTORELOCATIONS = $00000002; // Phonebook storage locations + SIM_CAPSTYPE_LOCKFACILITIES = $00000004; // Lock facilities + SIM_CAPSTYPE_PBINDEXRANGE = $00000008; // Valid phonebook entry indexes + SIM_CAPSTYPE_LOCKINGPWDLENGTHS = $00000010; // Locking password lengths + SIM_CAPSTYPE_MSGMEMORYLOCATIONS = $00000020; // Message memory locations + SIM_CAPSTYPE_ALL = $0000003F; // All of the above + + // SMS Storage | SMS storage locations } + + SIM_SMSSTORAGE_BROADCAST = $00000001; // Broadcast message storage location + SIM_SMSSTORAGE_SIM = $00000002; // SIM storage location + SIM_NUMSMSSTORAGES = 2; // Number of message storage locations + + // Address Type | Defines different address types } + + SIM_ADDRTYPE_UNKNOWN = $00000000; // Unknown + SIM_ADDRTYPE_INTERNATIONAL = $00000001; // International number + SIM_ADDRTYPE_NATIONAL = $00000002; // National number + SIM_ADDRTYPE_NETWKSPECIFIC = $00000003; // Network specific number + SIM_ADDRTYPE_SUBSCRIBER = $00000004; // Subscriber number (protocol-specific) + SIM_ADDRTYPE_ALPHANUM = $00000005; // Alphanumeric address + SIM_ADDRTYPE_ABBREV = $00000006; // Abbreviated number + + // Numbering Plan | Defines different numbering plans for SIM_ADDRTYPE_UNKNOWN, + // SIM_ADDRTYPE_INTERNATIONAL, and SIM_ADDRTYPE_NATIONAL + + SIM_NUMPLAN_UNKNOWN = $00000000; // Unknown + SIM_NUMPLAN_TELEPHONE = $00000001; // ISDN/telephone numbering plan (E.164/E.163) + SIM_NUMPLAN_DATA = $00000002; // Data numbering plan (X.121) + SIM_NUMPLAN_TELEX = $00000003; // Telex numbering plan + SIM_NUMPLAN_NATIONAL = $00000004; // National numbering plan + SIM_NUMPLAN_PRIVATE = $00000005; // Private numbering plan + SIM_NUMPLAN_ERMES = $00000006; // ERMES numbering plan (ETSI DE/PS 3 01-3) + + // Phone Locked | Indicates if the phone is currently locked (i.e. + // awaiting password) and what password to enter + + SIM_LOCKEDSTATE_UNKNOWN = $00000000; // Locking state is unknown + SIM_LOCKEDSTATE_READY = $00000001; // Not awaiting a password (unlocked) + SIM_LOCKEDSTATE_SIM_PIN = $00000002; // Awaiting the SIM PIN + SIM_LOCKEDSTATE_SIM_PUK = $00000003; // Awaiting the SIM PUK + SIM_LOCKEDSTATE_PH_SIM_PIN = $00000004; // Awaiting the Phone to SIM Personalization PIN + SIM_LOCKEDSTATE_PH_FSIM_PIN = $00000005; // Awaiting the Phone to first SIM Personalization PIN + SIM_LOCKEDSTATE_PH_FSIM_PUK = $00000006; // Awaiting the Phone to first SIM Personalization PUK + SIM_LOCKEDSTATE_SIM_PIN2 = $00000007; // Awaiting the SIM PIN2 + SIM_LOCKEDSTATE_SIM_PUK2 = $00000008; // Awaiting the SIM PUK2 + SIM_LOCKEDSTATE_PH_NET_PIN = $00000009; // Awaiting the Network Personalization PIN + SIM_LOCKEDSTATE_PH_NET_PUK = $0000000a; // Awaiting the Network Personalization PUK + SIM_LOCKEDSTATE_PH_NETSUB_PIN = $0000000b; // Awaiting the Network Subset Personalization PIN + SIM_LOCKEDSTATE_PH_NETSUB_PUK = $0000000c; // Awaiting the Network Subset Personalization PUK + SIM_LOCKEDSTATE_PH_SP_PIN = $0000000d; // Awaiting the Service Provider Personalization PIN + SIM_LOCKEDSTATE_PH_SP_PUK = $0000000e; // Awaiting the Service Provider Personalization PUK + SIM_LOCKEDSTATE_PH_CORP_PIN = $0000000f; // Awaiting the Corporate Personalization PIN + SIM_LOCKEDSTATE_PH_CORP_PUK = $00000010; // Awaiting the Corporate Personalization PUK + + // Phonebook Misc | Special phonebook constants } + + SIM_PBINDEX_FIRSTAVAILABLE = $ffffffff; // Use first phonebook storage entry available + + // Phone Locking | Indicates the phone's locking behavior } + + SIM_LOCKFACILITY_CNTRL = $00000001; // Lock control curface + SIM_LOCKFACILITY_PH_SIM = $00000002; // Lock phone to SIM card + SIM_LOCKFACILITY_PH_FSIM = $00000004; // Lock phone to first SIM card + SIM_LOCKFACILITY_SIM = $00000008; // Lock SIM card + SIM_LOCKFACILITY_SIM_PIN2 = $00000010; // Lock SIM card + SIM_LOCKFACILITY_SIM_FIXEDIALING = $00000020; // SIM fixed dialing memory + SIM_LOCKFACILITY_NETWORKPERS = $00000040; // Network personalization + SIM_LOCKFACILITY_NETWORKSUBPERS = $00000080; // Network subset personalization + SIM_LOCKFACILITY_SERVICEPROVPERS = $00000100; // Service provider personalization + SIM_LOCKFACILITY_CORPPERS = $00000200; // Corporate personalization + SIM_NUMLOCKFACILITIES = 10; // Number of locking facilities + + // SIM Record | Different SIM file types + SIM_RECORDTYPE_UNKNOWN = $00000000; // An unknown file type + SIM_RECORDTYPE_TRANSPARENT = $00000001; // A single veriable lengthed record + SIM_RECORDTYPE_CYCLIC = $00000002; // A cyclic set of records, each of the same length + SIM_RECORDTYPE_LINEAR = $00000003; // A linear set of records, each of the same length + SIM_RECORDTYPE_MASTER = $00000004; // Every SIM has a single master record, effectively the head node + SIM_RECORDTYPE_DEDICATED = $00000005; // Effectively a "directory" file which is a parent of other records + + // SIM Record Refresh | Different ways of being notified that SIM + // have been updated + SIMFILE_FULLFILECHANGE = $00000001; // All files have been changed + SIMFILE_FILECHANGE = $00000002; // Only a few files have been changed + SIMFILE_SIMINIT = $00000004; // SIM Initiailization + SIMFILE_SIMRESET = $00000008; // Reset the SIM + + // Max_Length | Maximum length constants } + MAX_LENGTH_ADDRESS = 256; // Maximum length of an address + MAX_LENGTH_PHONEBOOKENTRYTEXT = 256; // Maximum length of text in a phonebook entry + MAX_LENGTH_HEADER = 256; // Maximum length of a SMS header + MAX_LENGTH_MESSAGE = 256; // Maximum length of a SMS message + MAX_FILES = 32; // Maximum number of files in a file change list + +//***************************************************************************** +// types +//***************************************************************************** + +type + + // HSIM | Handle to a SIM } + + HSIM = HANDLE; + LPHSIM = ^HSIM; + + // SIMPHONEBOOKENTRY | A SIM phonebook entry + + simphonebookentry_tag = record + cbSize : DWORD; // Size of the structure in bytes + dwParams : DWORD; // Indicates valid parameter values + lpszAddress : array[0..(MAX_LENGTH_ADDRESS)-1] of TCHAR; // The actual phone number + dwAddressType : DWORD; // A SIM_ADDRTYPE_* constant + dwNumPlan : DWORD; // A SIM_NUMPLAN_* constant + lpszText : array[0..(MAX_LENGTH_PHONEBOOKENTRYTEXT)-1] of TCHAR; // Text assocaited with the entry + end; + TSIMPHONEBOOKENTRY = simphonebookentry_tag; + LPSIMPHONEBOOKENTRY = ^simphonebookentry_tag; + + // SIMMESSAGE | A SIM message entry + + simmessage_tag = record + cbSize : DWORD; // Size of the structure in bytes + dwParams : DWORD; // Indicates valid parameter values + lpszAddress : array[0..(MAX_LENGTH_ADDRESS)-1] of TCHAR; // The actual phone number + dwAddressType : DWORD; // A SIM_ADDRTYPE_* constant + dwNumPlan : DWORD; // A SIM_NUMPLAN_* constant + stReceiveTime : SYSTEMTIME; // Timestamp for the incoming message + cbHdrLength : DWORD; // Header length in bytes + rgbHeader : array[0..(MAX_LENGTH_HEADER)-1] of BYTE; // The actual header data + lpszMessage : array[0..(MAX_LENGTH_MESSAGE)-1] of TCHAR; // The actual message data + end; + TSIMMESSAGE = simmessage_tag; + LPSIMMESSAGE = ^simmessage_tag; + + // SIMLOCKINGPWDLENGTH | Minimum password length } + + simlockingpwdlength = record + dwFacility : DWORD; // The locking facility + dwPasswordLength : DWORD; // The minimum password length + end; + LPSIMLOCKINGPWDLENGTH = ^simlockingpwdlength; + + // SIMCAPS | Capabilities of the SIM + simcaps_tag = record + cbSize : DWORD; // Size of the structure in bytes + dwParams : DWORD; // Indicates valid parameter values + dwPBStorages : DWORD; // Supported phonebook storages + dwMinPBIndex : DWORD; // Minimum phonebook storages + dwMaxPBIndex : DWORD; // Maximum phonebook storages + dwMaxPBEAddressLength : DWORD; // Maximum address length of phonebook entries + dwMaxPBETextLength : DWORD; // Maximum text length of phonebook entries + dwLockFacilities : DWORD; // Supported locking facilities + dwReadMsgStorages : DWORD; // Supported read message stores + dwWriteMsgStorages : DWORD; // Supported write message stores + dwNumLockingPwdLengths : DWORD; // Number of entries in rgLockingPwdLengths + rgLockingPwdLengths : array[0..(SIM_NUMLOCKFACILITIES)-1] of SIMLOCKINGPWDLENGTH; // Password lengths for each facility + end; + TSIMCAPS = simcaps_tag; + LPSIMCAPS = ^simcaps_tag; + + // SIMRECORDINFO | Information about a particular SIM file + + simrecordinfo_tag = record + cbSize : DWORD; // Size of the structure in bytes + dwParams : DWORD; // Indicates valid parameter values + dwRecordType : DWORD; // SIM_RECORDTYPE_* Constant + dwItemCount : DWORD; // Number of items in the record + dwSize : DWORD; // Size in bytes of each item + end; + TSIMRECORDINFO = simrecordinfo_tag; + LPSIMRECORDINFO = ^simrecordinfo_tag; + + // SIMFILEREFRESH | Information about which file(s) have been updated + + simfilerefresh_tag = record + cbSize : DWORD; // Size of the structure in bytes + dwParams : DWORD; // Indicates valid parameter values + dwFlags : DWORD; // Combination of SIMFILE_* constants + dwFileCount : DWORD; // Number of files in the update list + rgdwAddress : array[0..(MAX_FILES)-1] of DWORD; // Array of files + end; + TSIMFILEREFRESH = simfilerefresh_tag; + LPSIMFILEREFRESH = ^simfilerefresh_tag; + + // SIMPBECHANGE | Information about which SIM Phonebook entries have changed + + simpbechange_tag = record + dwEntry : DWORD; // The index of the entry that has changed + dwStorage : DWORD; // SIM_PBSTORAGE_* constant detailing which phonebook this entry is in + end; + TSIMPBECHANGE = simpbechange_tag; + LPSIMPBECHANGE = ^simpbechange_tag; + + // SIMMESSAGECHANGE | Information about which SMS messages on the SIM have changed } + + simmessagechange_tag = record + dwEntry : DWORD; // The index of the entry that has changed + dwStorage : DWORD; // SIM_SMSSTORAGE_* constant details which storage location this entry is in + end; + TSIMMESSAGECHANGE = simmessagechange_tag; + LPSIMMESSAGECHANGE = ^simmessagechange_tag; + + // This is the callback function prototype used by SIM Manager when + // sending notifications. + // - + // Indicates type of notification received + // Points to data structure specific to the notification + // Size of data structure in bytes + // Parameter passed to simInititialize + TSIMCALLBACK = procedure (dwNotifyCode:DWORD; const pData:pointer; dwDataSize:DWORD; dwParam:DWORD); + +//***************************************************************************** +// functions +//***************************************************************************** + +// This function must be called by applications in order to use any of the +// functions in this API. +// Passing in a function callback is required only for applications that +// wish to obtain notifications. +// - +// Indicates which notifications to receive +// Function callback for notifications, may be NULL if notifications are not desired +// Parameter to pass on each notification function call, may be NULL +// Points to a HSIM handle to use on subsequent function calls +function SimInitialize(dwFlags:DWORD; lpfnCallBack:TSIMCALLBACK; dwParam:DWORD; lphSim:LPHSIM):HRESULT;external KernelDLL name 'SimInitialize'; + +// This function deinitializes an HSIM handle. +// - +// A valid HSIM handle to deinitialize +function SimDeinitialize(hSim:HSIM):HRESULT;external KernelDLL name 'SimDeinitialize'; + +// Gets the device capabilities of the SIM. +// - +// Points to a valid HSIM handle +// Which device capabilities are we interested in? +// Capabilities structure +function SimGetDevCaps(hSim:HSIM; dwCapsType:DWORD; lpSimCaps:LPSIMCAPS):HRESULT;external KernelDLL name 'SimGetDevCaps'; + +// Reads a phonebook entry off the SIM card. +// - +// Points to a valid HSIM handle +// A SIMPBSTORAGE_* Constant +// Index of the entry to retrieve +// Points to a phonebook entry structure +function SimReadPhonebookEntry(hSim:HSIM; dwLocation:DWORD; dwIndex:DWORD; lpPhonebookEntry:LPSIMPHONEBOOKENTRY):HRESULT;external KernelDLL name 'SimReadPhonebookEntry'; + +// Gets the status of a phonebook location. +// - +// Points to a valid HSIM handle +// A SIMPBSTORAGE_* Constant +// Nubmer of used locations +// Total number of locations +function SimGetPhonebookStatus(hSim:HSIM; dwLocation:DWORD; lpdwUsed:LPDWORD; lpdwTotal:LPDWORD):HRESULT;external KernelDLL name 'SimGetPhonebookStatus'; + +// Writes a phonebook entry to the SIM card. +// - +// Points to a valid HSIM handle +// A SIMPBSTORAGE_* Constant +// Index of the entry to retrieve (may be SIM_PBINDEX_FIRSTAVAILABLE) +// Points to a phonebook entry structure +function SimWritePhonebookEntry(hSim:HSIM; dwLocation:DWORD; dwIndex:DWORD; lpPhonebookEntry:LPSIMPHONEBOOKENTRY):HRESULT;external KernelDLL name 'SimWritePhonebookEntry'; + +// Deletes a phonebook entry from the SIM card. +// - +// Points to a valid HSIM handle +// A SIMPBSTORAGE_* Constant +// Index of the entry to retrieve +function SimDeletePhonebookEntry(hSim:HSIM; dwLocation:DWORD; dwIndex:DWORD):HRESULT;external KernelDLL name 'SimDeletePhonebookEntry'; + +// Checks if the SIM is currently awaiting a password. +// This is called when powering on the phone. +// - +// Points to a valid HSIM handle +// Points to a SIM_LOCKEDSTATE_* constant +function SimGetPhoneLockedState(hSim:HSIM; lpdwLockedState:LPDWORD):HRESULT;external KernelDLL name 'SimGetPhoneLockedState'; + +// Sends a password to unlock the phone. +// - +// Points to a valid HSIM handle +// Points to password string +// Some locked states require a second password (e.g. PUK requires a new PIN to replace the old, presumably forgotten PIN) +function SimUnlockPhone(hSim:HSIM; lpszPassword:LPTSTR; lpszNewPin:LPTSTR):HRESULT;external KernelDLL name 'SimUnlockPhone'; + +// Gets the locking status of the phone. +// - +// Points to a valid HSIM handle +// A SIMLOCKFACILITY_* constant +// Some facilities require a password +// Enabled or diabled +function SimGetLockingStatus(hSim:HSIM; dwLockingFacility:DWORD; lpszPassword:LPTSTR; var pfEnabled:BOOL):HRESULT;external KernelDLL name 'SimGetLockingStatus'; + +// Sets the locking status of the phone. +// - +// Points to a valid HSIM handle +// A SIMLOCKFACILITY_* constant +// Some facilities require a password +// Enable or diable +function SimSetLockingStatus(hSim:HSIM; dwLockingFacility:DWORD; lpszPassword:LPTSTR; fEnabled:BOOL):HRESULT;external KernelDLL name 'SimSetLockingStatus'; + +// Changes a locking password. +// - +// Points to a valid HSIM handle +// A SIMLOCKFACILITY_* constant +// The old password +// The new password +function SimChangeLockingPassword(hSim:HSIM; dwLockingFacility:DWORD; lpszOldPassword:LPTSTR; lpszNewPassword:LPTSTR):HRESULT;external KernelDLL name 'SimChangeLockingPassword'; + +// Gets the status of a SMS storage location. +// - +// Points to a valid HSIM handle +// A SIM_SMSSTORAGE_* constant +// Nubmer of used locations +// Total number of locations +function SimGetSmsStorageStatus(hSim:HSIM; dwStorage:DWORD; lpdwUsed:LPDWORD; lpdwTotal:LPDWORD):HRESULT;external KernelDLL name 'SimGetSmsStorageStatus'; + +// Reads an SMS from a particular storage location. +// - +// Points to a valid HSIM handle +// A SIM_SMSSTORAGE_* constant +// Index of the entry to retrieve +// Points to an SMS message structure +function SimReadMessage(hSim:HSIM; dwStorage:DWORD; dwIndex:DWORD; lpSimMessage:LPSIMMESSAGE):HRESULT;external KernelDLL name 'SimReadMessage'; + +// Writes an SMS to a particular storage location. +// Note that SMS messages are always written to the first available storage location +// - +// lpdwIndex will be set to the index to which the message was written +// Points to a valid HSIM handle +// A SIM_SMSSTORAGE_* constant +// Set to the index where the message was written +// Points to an SMS message structure +function SimWriteMessage(hSim:HSIM; dwStorage:DWORD; lpdwIndex:LPDWORD; lpSimMessage:LPSIMMESSAGE):HRESULT;external KernelDLL name 'SimWriteMessage'; + +// Deletes an SMS from a particular storage location. +// - +// Points to a valid HSIM handle +// A SIM_SMSSTORAGE_* constant +// Index of the entry to retrieve +function SimDeleteMessage(hSim:HSIM; dwStorage:DWORD; dwIndex:DWORD):HRESULT;external KernelDLL name 'SimDeleteMessage'; + +// Reads a file form the SIM. +// - +// Points to a valid HSIM handle +// SIM address +// A SIM_RECORDTYPE_* constant +// Applies only to SIM_RECORDTYPE_CYCLIC and SIM_RECORDTYPE_LINEAR, otherwise ignored +// Data buffer +// Size of data buffer +// Number of bytes read +function SimReadRecord(hSim:HSIM; dwAddress:DWORD; dwRecordType:DWORD; dwIndex:DWORD; + lpData: LPBYTE; dwBufferSize: DWORD; lpdwBytesRead: LPDWORD):HRESULT;external KernelDLL name 'SimReadRecord'; + +// Writes a file to the SIM. +// - +// Points to a valid HSIM handle +// SIM address +// A SIM_RECORDTYPE_* constant +// Applies only to SIM_RECORDTYPE_CYCLIC and SIM_RECORDTYPE_LINEAR, otherwise ignored +function SimWriteRecord(hSim:HSIM; dwAddress:DWORD; dwRecordType:DWORD; dwIndex:DWORD; + lpData: LPBYTE; dwByteCount: DWORD):HRESULT;external KernelDLL name 'SimWriteRecord'; + +// Gets information about a particular record. +// - +// Points to a valid HSIM handle +// SIM address +// Points to a SIM record information structure +function SimGetRecordInfo(hSim:HSIM; dwAddress:DWORD; lpSimRecordInfo:LPSIMRECORDINFO):HRESULT;external KernelDLL name 'SimGetRecordInfo'; + +{$endif read_interface} + +{$ifdef read_implementation} + +{$endif read_implementation} diff --git a/packages/winceunits/src/tapi.inc b/packages/winceunits/src/tapi.inc deleted file mode 100644 index 223d1a7ae4..0000000000 --- a/packages/winceunits/src/tapi.inc +++ /dev/null @@ -1,1807 +0,0 @@ -{ - This file is part of the Free Pascal run time library. - Copyright (c) 2007 Free Pascal development team. - - See the file COPYING.FPC, included in this distribution, - for details about the copyright. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - **********************************************************************} - -{ Declarations for tapi WinCE API, note than on WinCE tapi functions originally - based in coredll.dll -} - -{ this port based on Windows Mobile 5 Smartphone Edition SDK - contact S0vNark0m for more information snk_post@mail.ru (en, ru) -} - -{$ifdef read_interface} - -//***************************************************************************** -// consts -//***************************************************************************** - -const - - TAPI_CURRENT_VERSION = $00020000; - - { Messages for Phones and Lines } - - LINE_ADDRESSSTATE = 0; - LINE_CALLINFO = 1; - LINE_CALLSTATE = 2; - LINE_CLOSE = 3; - LINE_DEVSPECIFIC = 4; - LINE_DEVSPECIFICFEATURE = 5; - LINE_GATHERDIGITS = 6; - LINE_GENERATE = 7; - LINE_LINEDEVSTATE = 8; - LINE_MONITORDIGITS = 9; - LINE_MONITORMEDIA = 10; - LINE_MONITORTONE = 11; - LINE_REPLY = 12; - LINE_REQUEST = 13; - PHONE_BUTTON = 14; - PHONE_CLOSE = 15; - PHONE_DEVSPECIFIC = 16; - PHONE_REPLY = 17; - PHONE_STATE = 18; - LINE_CREATE = 19; { TAPI v1.4 } - PHONE_CREATE = 20; { TAPI v1.4 } - - LINE_AGENTSPECIFIC = 21; { TAPI v2.0 } - LINE_AGENTSTATUS = 22; { TAPI v2.0 } - LINE_APPNEWCALL = 23; { TAPI v2.0 } - LINE_PROXYREQUEST = 24; { TAPI v2.0 } - LINE_REMOVE = 25; { TAPI v2.0 } - PHONE_REMOVE = 26; { TAPI v2.0 } - - INITIALIZE_NEGOTIATION = $FFFFFFFF; - - LINEADDRCAPFLAGS_FWDNUMRINGS = $00000001; - LINEADDRCAPFLAGS_PICKUPGROUPID = $00000002; - LINEADDRCAPFLAGS_SECURE = $00000004; - LINEADDRCAPFLAGS_BLOCKIDDEFAULT = $00000008; - LINEADDRCAPFLAGS_BLOCKIDOVERRIDE = $00000010; - LINEADDRCAPFLAGS_DIALED = $00000020; - LINEADDRCAPFLAGS_ORIGOFFHOOK = $00000040; - LINEADDRCAPFLAGS_DESTOFFHOOK = $00000080; - LINEADDRCAPFLAGS_FWDCONSULT = $00000100; - LINEADDRCAPFLAGS_SETUPCONFNULL = $00000200; - LINEADDRCAPFLAGS_AUTORECONNECT = $00000400; - LINEADDRCAPFLAGS_COMPLETIONID = $00000800; - LINEADDRCAPFLAGS_TRANSFERHELD = $00001000; - LINEADDRCAPFLAGS_TRANSFERMAKE = $00002000; - LINEADDRCAPFLAGS_CONFERENCEHELD = $00004000; - LINEADDRCAPFLAGS_CONFERENCEMAKE = $00008000; - LINEADDRCAPFLAGS_PARTIALDIAL = $00010000; - LINEADDRCAPFLAGS_FWDSTATUSVALID = $00020000; - LINEADDRCAPFLAGS_FWDINTEXTADDR = $00040000; - LINEADDRCAPFLAGS_FWDBUSYNAADDR = $00080000; - LINEADDRCAPFLAGS_ACCEPTTOALERT = $00100000; - LINEADDRCAPFLAGS_CONFDROP = $00200000; - LINEADDRCAPFLAGS_PICKUPCALLWAIT = $00400000; - LINEADDRCAPFLAGS_PREDICTIVEDIALER = $00800000; { TAPI v2.0 } - LINEADDRCAPFLAGS_QUEUE = $01000000; { TAPI v2.0 } - LINEADDRCAPFLAGS_ROUTEPOINT = $02000000; { TAPI v2.0 } - LINEADDRCAPFLAGS_HOLDMAKESNEW = $04000000; { TAPI v2.0 } - LINEADDRCAPFLAGS_NOINTERNALCALLS = $08000000; { TAPI v2.0 } - LINEADDRCAPFLAGS_NOEXTERNALCALLS = $10000000; { TAPI v2.0 } - LINEADDRCAPFLAGS_SETCALLINGID = $20000000; { TAPI v2.0 } - - LINEADDRESSMODE_ADDRESSID = $00000001; - LINEADDRESSMODE_DIALABLEADDR = $00000002; - - LINEADDRESSSHARING_PRIVATE = $00000001; - LINEADDRESSSHARING_BRIDGEDEXCL = $00000002; - LINEADDRESSSHARING_BRIDGEDNEW = $00000004; - LINEADDRESSSHARING_BRIDGEDSHARED = $00000008; - LINEADDRESSSHARING_MONITORED = $00000010; - - LINEADDRESSSTATE_OTHER = $00000001; - LINEADDRESSSTATE_DEVSPECIFIC = $00000002; - LINEADDRESSSTATE_INUSEZERO = $00000004; - LINEADDRESSSTATE_INUSEONE = $00000008; - LINEADDRESSSTATE_INUSEMANY = $00000010; - LINEADDRESSSTATE_NUMCALLS = $00000020; - LINEADDRESSSTATE_FORWARD = $00000040; - LINEADDRESSSTATE_TERMINALS = $00000080; - LINEADDRESSSTATE_CAPSCHANGE = $00000100; { TAPI v1.4 } - - LINEADDRESSTYPE_PHONENUMBER = $00000001; - LINEADDRESSTYPE_SDP = $00000002; - LINEADDRESSTYPE_EMAILNAME = $00000004; - LINEADDRESSTYPE_DOMAINNAME = $00000008; - LINEADDRESSTYPE_IPADDRESS = $00000010; - - LINEADDRFEATURE_FORWARD = $00000001; - LINEADDRFEATURE_MAKECALL = $00000002; - LINEADDRFEATURE_PICKUP = $00000004; - LINEADDRFEATURE_SETMEDIACONTROL = $00000008; - LINEADDRFEATURE_SETTERMINAL = $00000010; - LINEADDRFEATURE_SETUPCONF = $00000020; - LINEADDRFEATURE_UNCOMPLETECALL = $00000040; - LINEADDRFEATURE_UNPARK = $00000080; - LINEADDRFEATURE_PICKUPHELD = $00000100; { TAPI v2.0 } - LINEADDRFEATURE_PICKUPGROUP = $00000200; { TAPI v2.0 } - LINEADDRFEATURE_PICKUPDIRECT = $00000400; { TAPI v2.0 } - LINEADDRFEATURE_PICKUPWAITING = $00000800; { TAPI v2.0 } - LINEADDRFEATURE_FORWARDFWD = $00001000; { TAPI v2.0 } - LINEADDRFEATURE_FORWARDDND = $00002000; { TAPI v2.0 } - - LINEAGENTFEATURE_SETAGENTGROUP = $00000001; { TAPI v2.0 } - LINEAGENTFEATURE_SETAGENTSTATE = $00000002; { TAPI v2.0 } - LINEAGENTFEATURE_SETAGENTACTIVITY = $00000004; { TAPI v2.0 } - LINEAGENTFEATURE_AGENTSPECIFIC = $00000008; { TAPI v2.0 } - LINEAGENTFEATURE_GETAGENTACTIVITYLIST = $00000010; { TAPI v2.0 } - LINEAGENTFEATURE_GETAGENTGROUP = $00000020; { TAPI v2.0 } - - LINEAGENTSTATE_LOGGEDOFF = $00000001; { TAPI v2.0 } - LINEAGENTSTATE_NOTREADY = $00000002; { TAPI v2.0 } - LINEAGENTSTATE_READY = $00000004; { TAPI v2.0 } - LINEAGENTSTATE_BUSYACD = $00000008; { TAPI v2.0 } - LINEAGENTSTATE_BUSYINCOMING = $00000010; { TAPI v2.0 } - LINEAGENTSTATE_BUSYOUTBOUND = $00000020; { TAPI v2.0 } - LINEAGENTSTATE_BUSYOTHER = $00000040; { TAPI v2.0 } - LINEAGENTSTATE_WORKINGAFTERCALL = $00000080; { TAPI v2.0 } - LINEAGENTSTATE_UNKNOWN = $00000100; { TAPI v2.0 } - LINEAGENTSTATE_UNAVAIL = $00000200; { TAPI v2.0 } - - LINEAGENTSTATUS_GROUP = $00000001; { TAPI v2.0 } - LINEAGENTSTATUS_STATE = $00000002; { TAPI v2.0 } - LINEAGENTSTATUS_NEXTSTATE = $00000004; { TAPI v2.0 } - LINEAGENTSTATUS_ACTIVITY = $00000008; { TAPI v2.0 } - LINEAGENTSTATUS_ACTIVITYLIST = $00000010; { TAPI v2.0 } - LINEAGENTSTATUS_GROUPLIST = $00000020; { TAPI v2.0 } - LINEAGENTSTATUS_CAPSCHANGE = $00000040; { TAPI v2.0 } - LINEAGENTSTATUS_VALIDSTATES = $00000080; { TAPI v2.0 } - LINEAGENTSTATUS_VALIDNEXTSTATES = $00000100; { TAPI v2.0 } - - LINEANSWERMODE_NONE = $00000001; - LINEANSWERMODE_DROP = $00000002; - LINEANSWERMODE_HOLD = $00000004; - LINEBEARERMODE_VOICE = $00000001; - LINEBEARERMODE_SPEECH = $00000002; - LINEBEARERMODE_MULTIUSE = $00000004; - LINEBEARERMODE_DATA = $00000008; - LINEBEARERMODE_ALTSPEECHDATA = $00000010; - LINEBEARERMODE_NONCALLSIGNALING = $00000020; - LINEBEARERMODE_PASSTHROUGH = $00000040; { TAPI v1.4 } - LINEBEARERMODE_RESTRICTEDDATA = $00000080; { TAPI v2.0 } - - LINEBUSYMODE_STATION = $00000001; - LINEBUSYMODE_TRUNK = $00000002; - LINEBUSYMODE_UNKNOWN = $00000004; - LINEBUSYMODE_UNAVAIL = $00000008; - - LINECALLCOMPLCOND_BUSY = $00000001; - LINECALLCOMPLCOND_NOANSWER = $00000002; - - LINECALLCOMPLMODE_CAMPON = $00000001; - LINECALLCOMPLMODE_CALLBACK = $00000002; - LINECALLCOMPLMODE_INTRUDE = $00000004; - LINECALLCOMPLMODE_MESSAGE = $00000008; - - LINECALLFEATURE_ACCEPT = $00000001; - LINECALLFEATURE_ADDTOCONF = $00000002; - LINECALLFEATURE_ANSWER = $00000004; - LINECALLFEATURE_BLINDTRANSFER = $00000008; - LINECALLFEATURE_COMPLETECALL = $00000010; - LINECALLFEATURE_COMPLETETRANSF = $00000020; - LINECALLFEATURE_DIAL = $00000040; - LINECALLFEATURE_DROP = $00000080; - LINECALLFEATURE_GATHERDIGITS = $00000100; - LINECALLFEATURE_GENERATEDIGITS = $00000200; - LINECALLFEATURE_GENERATETONE = $00000400; - LINECALLFEATURE_HOLD = $00000800; - LINECALLFEATURE_MONITORDIGITS = $00001000; - LINECALLFEATURE_MONITORMEDIA = $00002000; - LINECALLFEATURE_MONITORTONES = $00004000; - LINECALLFEATURE_PARK = $00008000; - LINECALLFEATURE_PREPAREADDCONF = $00010000; - LINECALLFEATURE_REDIRECT = $00020000; - LINECALLFEATURE_REMOVEFROMCONF = $00040000; - LINECALLFEATURE_SECURECALL = $00080000; - LINECALLFEATURE_SENDUSERUSER = $00100000; - LINECALLFEATURE_SETCALLPARAMS = $00200000; - LINECALLFEATURE_SETMEDIACONTROL = $00400000; - LINECALLFEATURE_SETTERMINAL = $00800000; - LINECALLFEATURE_SETUPCONF = $01000000; - LINECALLFEATURE_SETUPTRANSFER = $02000000; - LINECALLFEATURE_SWAPHOLD = $04000000; - LINECALLFEATURE_UNHOLD = $08000000; - LINECALLFEATURE_RELEASEUSERUSERINFO = $10000000; { TAPI v1.4 } - LINECALLFEATURE_SETTREATMENT = $20000000; { TAPI v2.0 } - LINECALLFEATURE_SETQOS = $40000000; { TAPI v2.0 } - LINECALLFEATURE_SETCALLDATA = $80000000; { TAPI v2.0 } - - LINECALLFEATURE2_NOHOLDCONFERENCE = $00000001; { TAPI v2.0 } - LINECALLFEATURE2_ONESTEPTRANSFER = $00000002; { TAPI v2.0 } - LINECALLFEATURE2_COMPLCAMPON = $00000004; { TAPI v2.0 } - LINECALLFEATURE2_COMPLCALLBACK = $00000008; { TAPI v2.0 } - LINECALLFEATURE2_COMPLINTRUDE = $00000010; { TAPI v2.0 } - LINECALLFEATURE2_COMPLMESSAGE = $00000020; { TAPI v2.0 } - LINECALLFEATURE2_TRANSFERNORM = $00000040; { TAPI v2.0 } - LINECALLFEATURE2_TRANSFERCONF = $00000080; { TAPI v2.0 } - LINECALLFEATURE2_PARKDIRECT = $00000100; { TAPI v2.0 } - LINECALLFEATURE2_PARKNONDIRECT = $00000200; { TAPI v2.0 } - - LINECALLINFOSTATE_OTHER = $00000001; - LINECALLINFOSTATE_DEVSPECIFIC = $00000002; - LINECALLINFOSTATE_BEARERMODE = $00000004; - LINECALLINFOSTATE_RATE = $00000008; - LINECALLINFOSTATE_MEDIAMODE = $00000010; - LINECALLINFOSTATE_APPSPECIFIC = $00000020; - LINECALLINFOSTATE_CALLID = $00000040; - LINECALLINFOSTATE_RELATEDCALLID = $00000080; - LINECALLINFOSTATE_ORIGIN = $00000100; - LINECALLINFOSTATE_REASON = $00000200; - LINECALLINFOSTATE_COMPLETIONID = $00000400; - LINECALLINFOSTATE_NUMOWNERINCR = $00000800; - LINECALLINFOSTATE_NUMOWNERDECR = $00001000; - LINECALLINFOSTATE_NUMMONITORS = $00002000; - LINECALLINFOSTATE_TRUNK = $00004000; - LINECALLINFOSTATE_CALLERID = $00008000; - LINECALLINFOSTATE_CALLEDID = $00010000; - LINECALLINFOSTATE_CONNECTEDID = $00020000; - LINECALLINFOSTATE_REDIRECTIONID = $00040000; - LINECALLINFOSTATE_REDIRECTINGID = $00080000; - LINECALLINFOSTATE_DISPLAY = $00100000; - LINECALLINFOSTATE_USERUSERINFO = $00200000; - LINECALLINFOSTATE_HIGHLEVELCOMP = $00400000; - LINECALLINFOSTATE_LOWLEVELCOMP = $00800000; - LINECALLINFOSTATE_CHARGINGINFO = $01000000; - LINECALLINFOSTATE_TERMINAL = $02000000; - LINECALLINFOSTATE_DIALPARAMS = $04000000; - LINECALLINFOSTATE_MONITORMODES = $08000000; - LINECALLINFOSTATE_TREATMENT = $10000000; { TAPI v2.0 } - LINECALLINFOSTATE_QOS = $20000000; { TAPI v2.0 } - LINECALLINFOSTATE_CALLDATA = $40000000; { TAPI v2.0 } - - LINECALLORIGIN_OUTBOUND = $00000001; - LINECALLORIGIN_INTERNAL = $00000002; - LINECALLORIGIN_EXTERNAL = $00000004; - LINECALLORIGIN_UNKNOWN = $00000010; - LINECALLORIGIN_UNAVAIL = $00000020; - LINECALLORIGIN_CONFERENCE = $00000040; - LINECALLORIGIN_INBOUND = $00000080; { TAPI v1.4 } - - LINECALLPARAMFLAGS_SECURE = $00000001; - LINECALLPARAMFLAGS_IDLE = $00000002; - LINECALLPARAMFLAGS_BLOCKID = $00000004; - LINECALLPARAMFLAGS_ORIGOFFHOOK = $00000008; - LINECALLPARAMFLAGS_DESTOFFHOOK = $00000010; - LINECALLPARAMFLAGS_NOHOLDCONFERENCE = $00000020; { TAPI v2.0 } - LINECALLPARAMFLAGS_PREDICTIVEDIAL = $00000040; { TAPI v2.0 } - LINECALLPARAMFLAGS_ONESTEPTRANSFER = $00000080; { TAPI v2.0 } - - LINECALLPARTYID_BLOCKED = $00000001; - LINECALLPARTYID_OUTOFAREA = $00000002; - LINECALLPARTYID_NAME = $00000004; - LINECALLPARTYID_ADDRESS = $00000008; - LINECALLPARTYID_PARTIAL = $00000010; - LINECALLPARTYID_UNKNOWN = $00000020; - LINECALLPARTYID_UNAVAIL = $00000040; - - LINECALLPRIVILEGE_NONE = $00000001; - LINECALLPRIVILEGE_MONITOR = $00000002; - LINECALLPRIVILEGE_OWNER = $00000004; - - LINECALLREASON_DIRECT = $00000001; - LINECALLREASON_FWDBUSY = $00000002; - LINECALLREASON_FWDNOANSWER = $00000004; - LINECALLREASON_FWDUNCOND = $00000008; - LINECALLREASON_PICKUP = $00000010; - LINECALLREASON_UNPARK = $00000020; - LINECALLREASON_REDIRECT = $00000040; - LINECALLREASON_CALLCOMPLETION = $00000080; - LINECALLREASON_TRANSFER = $00000100; - LINECALLREASON_REMINDER = $00000200; - LINECALLREASON_UNKNOWN = $00000400; - LINECALLREASON_UNAVAIL = $00000800; - LINECALLREASON_INTRUDE = $00001000; { TAPI v1.4 } - LINECALLREASON_PARKED = $00002000; { TAPI v1.4 } - LINECALLREASON_CAMPEDON = $00004000; { TAPI v2.0 } - LINECALLREASON_ROUTEREQUEST = $00008000; { TAPI v2.0 } - - LINECALLSELECT_LINE = $00000001; - LINECALLSELECT_ADDRESS = $00000002; - LINECALLSELECT_CALL = $00000004; - LINECALLSELECT_DEVICEID = $00000008; { TAPI v2.1 } - LINECALLSELECT_CALLID = $00000010; { TAPI v3.0 } - - LINECALLSTATE_IDLE = $00000001; - LINECALLSTATE_OFFERING = $00000002; - LINECALLSTATE_ACCEPTED = $00000004; - LINECALLSTATE_DIALTONE = $00000008; - LINECALLSTATE_DIALING = $00000010; - LINECALLSTATE_RINGBACK = $00000020; - LINECALLSTATE_BUSY = $00000040; - LINECALLSTATE_SPECIALINFO = $00000080; - LINECALLSTATE_CONNECTED = $00000100; - LINECALLSTATE_PROCEEDING = $00000200; - LINECALLSTATE_ONHOLD = $00000400; - LINECALLSTATE_CONFERENCED = $00000800; - LINECALLSTATE_ONHOLDPENDCONF = $00001000; - LINECALLSTATE_ONHOLDPENDTRANSFER = $00002000; - LINECALLSTATE_DISCONNECTED = $00004000; - LINECALLSTATE_UNKNOWN = $00008000; - - LINECALLTREATMENT_SILENCE = $00000001; { TAPI v2.0 } - LINECALLTREATMENT_RINGBACK = $00000002; { TAPI v2.0 } - LINECALLTREATMENT_BUSY = $00000003; { TAPI v2.0 } - LINECALLTREATMENT_MUSIC = $00000004; { TAPI v2.0 } - - LINECARDOPTION_PREDEFINED = $00000001; { TAPI v1.4 } - LINECARDOPTION_HIDDEN = $00000002; { TAPI v1.4 } - - LINECONNECTEDMODE_ACTIVE = $00000001; { TAPI v1.4 } - LINECONNECTEDMODE_INACTIVE = $00000002; { TAPI v1.4 } - LINECONNECTEDMODE_ACTIVEHELD = $00000004; { TAPI v2.0 } - LINECONNECTEDMODE_INACTIVEHELD = $00000008; { TAPI v2.0 } - LINECONNECTEDMODE_CONFIRMED = $00000010; { TAPI v2.0 } - - LINEDEVCAPFLAGS_CROSSADDRCONF = $00000001; - LINEDEVCAPFLAGS_HIGHLEVCOMP = $00000002; - LINEDEVCAPFLAGS_LOWLEVCOMP = $00000004; - LINEDEVCAPFLAGS_MEDIACONTROL = $00000008; - LINEDEVCAPFLAGS_MULTIPLEADDR = $00000010; - LINEDEVCAPFLAGS_CLOSEDROP = $00000020; - LINEDEVCAPFLAGS_DIALBILLING = $00000040; - LINEDEVCAPFLAGS_DIALQUIET = $00000080; - LINEDEVCAPFLAGS_DIALDIALTONE = $00000100; - LINEDEVCAPFLAGS_MSP = $00000200; { TAPI v3.0 } - LINEDEVCAPFLAGS_CALLHUB = $00000400; { TAPI v3.0 } - LINEDEVCAPFLAGS_CALLHUBTRACKING = $00000800; { TAPI v3.0 } - LINEDEVCAPFLAGS_PRIVATEOBJECTS = $00001000; { TAPI v3.0 } - - LINEDEVSTATE_OTHER = $00000001; - LINEDEVSTATE_RINGING = $00000002; - LINEDEVSTATE_CONNECTED = $00000004; - LINEDEVSTATE_DISCONNECTED = $00000008; - LINEDEVSTATE_MSGWAITON = $00000010; - LINEDEVSTATE_MSGWAITOFF = $00000020; - LINEDEVSTATE_INSERVICE = $00000040; - LINEDEVSTATE_OUTOFSERVICE = $00000080; - LINEDEVSTATE_MAINTENANCE = $00000100; - LINEDEVSTATE_OPEN = $00000200; - LINEDEVSTATE_CLOSE = $00000400; - LINEDEVSTATE_NUMCALLS = $00000800; - LINEDEVSTATE_NUMCOMPLETIONS = $00001000; - LINEDEVSTATE_TERMINALS = $00002000; - LINEDEVSTATE_ROAMMODE = $00004000; - LINEDEVSTATE_BATTERY = $00008000; - LINEDEVSTATE_SIGNAL = $00010000; - LINEDEVSTATE_DEVSPECIFIC = $00020000; - LINEDEVSTATE_REINIT = $00040000; - LINEDEVSTATE_LOCK = $00080000; - LINEDEVSTATE_CAPSCHANGE = $00100000; { TAPI v1.4 } - LINEDEVSTATE_CONFIGCHANGE = $00200000; { TAPI v1.4 } - LINEDEVSTATE_TRANSLATECHANGE = $00400000; { TAPI v1.4 } - LINEDEVSTATE_COMPLCANCEL = $00800000; { TAPI v1.4 } - LINEDEVSTATE_REMOVED = $01000000; { TAPI v1.4 } - - LINEDEVSTATUSFLAGS_CONNECTED = $00000001; - LINEDEVSTATUSFLAGS_MSGWAIT = $00000002; - LINEDEVSTATUSFLAGS_INSERVICE = $00000004; - LINEDEVSTATUSFLAGS_LOCKED = $00000008; - - LINEDIALTONEMODE_NORMAL = $00000001; - LINEDIALTONEMODE_SPECIAL = $00000002; - LINEDIALTONEMODE_INTERNAL = $00000004; - LINEDIALTONEMODE_EXTERNAL = $00000008; - LINEDIALTONEMODE_UNKNOWN = $00000010; - LINEDIALTONEMODE_UNAVAIL = $00000020; - - LINEDIGITMODE_PULSE = $00000001; - LINEDIGITMODE_DTMF = $00000002; - LINEDIGITMODE_DTMFEND = $00000004; - - LINEDISCONNECTMODE_NORMAL = $00000001; - LINEDISCONNECTMODE_UNKNOWN = $00000002; - LINEDISCONNECTMODE_REJECT = $00000004; - LINEDISCONNECTMODE_PICKUP = $00000008; - LINEDISCONNECTMODE_FORWARDED = $00000010; - LINEDISCONNECTMODE_BUSY = $00000020; - LINEDISCONNECTMODE_NOANSWER = $00000040; - LINEDISCONNECTMODE_BADADDRESS = $00000080; - LINEDISCONNECTMODE_UNREACHABLE = $00000100; - LINEDISCONNECTMODE_CONGESTION = $00000200; - LINEDISCONNECTMODE_INCOMPATIBLE = $00000400; - LINEDISCONNECTMODE_UNAVAIL = $00000800; - LINEDISCONNECTMODE_NODIALTONE = $00001000; { TAPI v1.4 } - LINEDISCONNECTMODE_NUMBERCHANGED = $00002000; { TAPI v2.0 } - LINEDISCONNECTMODE_OUTOFORDER = $00004000; { TAPI v2.0 } - LINEDISCONNECTMODE_TEMPFAILURE = $00008000; { TAPI v2.0 } - LINEDISCONNECTMODE_QOSUNAVAIL = $00010000; { TAPI v2.0 } - LINEDISCONNECTMODE_BLOCKED = $00020000; { TAPI v2.0 } - LINEDISCONNECTMODE_DONOTDISTURB = $00040000; { TAPI v2.0 } - LINEDISCONNECTMODE_CANCELLED = $00080000; { TAPI v2.0 } - - LINEERR_ALLOCATED = $80000001; - LINEERR_BADDEVICEID = $80000002; - LINEERR_BEARERMODEUNAVAIL = $80000003; - LINEERR_CALLUNAVAIL = $80000005; - LINEERR_COMPLETIONOVERRUN = $80000006; - LINEERR_CONFERENCEFULL = $80000007; - LINEERR_DIALBILLING = $80000008; - LINEERR_DIALDIALTONE = $80000009; - LINEERR_DIALPROMPT = $8000000A; - LINEERR_DIALQUIET = $8000000B; - LINEERR_INCOMPATIBLEAPIVERSION = $8000000C; - LINEERR_INCOMPATIBLEEXTVERSION = $8000000D; - LINEERR_INIFILECORRUPT = $8000000E; - LINEERR_INUSE = $8000000F; - LINEERR_INVALADDRESS = $80000010; - LINEERR_INVALADDRESSID = $80000011; - LINEERR_INVALADDRESSMODE = $80000012; - LINEERR_INVALADDRESSSTATE = $80000013; - LINEERR_INVALAPPHANDLE = $80000014; - LINEERR_INVALAPPNAME = $80000015; - LINEERR_INVALBEARERMODE = $80000016; - LINEERR_INVALCALLCOMPLMODE = $80000017; - LINEERR_INVALCALLHANDLE = $80000018; - LINEERR_INVALCALLPARAMS = $80000019; - LINEERR_INVALCALLPRIVILEGE = $8000001A; - LINEERR_INVALCALLSELECT = $8000001B; - LINEERR_INVALCALLSTATE = $8000001C; - LINEERR_INVALCALLSTATELIST = $8000001D; - LINEERR_INVALCARD = $8000001E; - LINEERR_INVALCOMPLETIONID = $8000001F; - LINEERR_INVALCONFCALLHANDLE = $80000020; - LINEERR_INVALCONSULTCALLHANDLE = $80000021; - LINEERR_INVALCOUNTRYCODE = $80000022; - LINEERR_INVALDEVICECLASS = $80000023; - LINEERR_INVALDEVICEHANDLE = $80000024; - LINEERR_INVALDIALPARAMS = $80000025; - LINEERR_INVALDIGITLIST = $80000026; - LINEERR_INVALDIGITMODE = $80000027; - LINEERR_INVALDIGITS = $80000028; - LINEERR_INVALEXTVERSION = $80000029; - LINEERR_INVALGROUPID = $8000002A; - LINEERR_INVALLINEHANDLE = $8000002B; - LINEERR_INVALLINESTATE = $8000002C; - LINEERR_INVALLOCATION = $8000002D; - LINEERR_INVALMEDIALIST = $8000002E; - LINEERR_INVALMEDIAMODE = $8000002F; - LINEERR_INVALMESSAGEID = $80000030; - LINEERR_INVALPARAM = $80000032; - LINEERR_INVALPARKID = $80000033; - LINEERR_INVALPARKMODE = $80000034; - LINEERR_INVALPOINTER = $80000035; - LINEERR_INVALPRIVSELECT = $80000036; - LINEERR_INVALRATE = $80000037; - LINEERR_INVALREQUESTMODE = $80000038; - LINEERR_INVALTERMINALID = $80000039; - LINEERR_INVALTERMINALMODE = $8000003A; - LINEERR_INVALTIMEOUT = $8000003B; - LINEERR_INVALTONE = $8000003C; - LINEERR_INVALTONELIST = $8000003D; - LINEERR_INVALTONEMODE = $8000003E; - LINEERR_INVALTRANSFERMODE = $8000003F; - LINEERR_LINEMAPPERFAILED = $80000040; - LINEERR_NOCONFERENCE = $80000041; - LINEERR_NODEVICE = $80000042; - LINEERR_NODRIVER = $80000043; - LINEERR_NOMEM = $80000044; - LINEERR_NOREQUEST = $80000045; - LINEERR_NOTOWNER = $80000046; - LINEERR_NOTREGISTERED = $80000047; - LINEERR_OPERATIONFAILED = $80000048; - LINEERR_OPERATIONUNAVAIL = $80000049; - LINEERR_RATEUNAVAIL = $8000004A; - LINEERR_RESOURCEUNAVAIL = $8000004B; - LINEERR_REQUESTOVERRUN = $8000004C; - LINEERR_STRUCTURETOOSMALL = $8000004D; - LINEERR_TARGETNOTFOUND = $8000004E; - LINEERR_TARGETSELF = $8000004F; - LINEERR_UNINITIALIZED = $80000050; - LINEERR_USERUSERINFOTOOBIG = $80000051; - LINEERR_REINIT = $80000052; - LINEERR_ADDRESSBLOCKED = $80000053; - LINEERR_BILLINGREJECTED = $80000054; - LINEERR_INVALFEATURE = $80000055; - LINEERR_NOMULTIPLEINSTANCE = $80000056; - LINEERR_INVALAGENTID = $80000057; { TAPI v2.0 } - LINEERR_INVALAGENTGROUP = $80000058; { TAPI v2.0 } - LINEERR_INVALPASSWORD = $80000059; { TAPI v2.0 } - LINEERR_INVALAGENTSTATE = $8000005A; { TAPI v2.0 } - LINEERR_INVALAGENTACTIVITY = $8000005B; { TAPI v2.0 } - LINEERR_DIALVOICEDETECT = $8000005C; { TAPI v2.0 } - - LINEFEATURE_DEVSPECIFIC = $00000001; - LINEFEATURE_DEVSPECIFICFEAT = $00000002; - LINEFEATURE_FORWARD = $00000004; - LINEFEATURE_MAKECALL = $00000008; - LINEFEATURE_SETMEDIACONTROL = $00000010; - LINEFEATURE_SETTERMINAL = $00000020; - LINEFEATURE_SETDEVSTATUS = $00000040; { TAPI v2.0 } - LINEFEATURE_FORWARDFWD = $00000080; { TAPI v2.0 } - LINEFEATURE_FORWARDDND = $00000100; { TAPI v2.0 } - - LINEFORWARDMODE_UNCOND = $00000001; - LINEFORWARDMODE_UNCONDINTERNAL = $00000002; - LINEFORWARDMODE_UNCONDEXTERNAL = $00000004; - LINEFORWARDMODE_UNCONDSPECIFIC = $00000008; - LINEFORWARDMODE_BUSY = $00000010; - LINEFORWARDMODE_BUSYINTERNAL = $00000020; - LINEFORWARDMODE_BUSYEXTERNAL = $00000040; - LINEFORWARDMODE_BUSYSPECIFIC = $00000080; - LINEFORWARDMODE_NOANSW = $00000100; - LINEFORWARDMODE_NOANSWINTERNAL = $00000200; - LINEFORWARDMODE_NOANSWEXTERNAL = $00000400; - LINEFORWARDMODE_NOANSWSPECIFIC = $00000800; - LINEFORWARDMODE_BUSYNA = $00001000; - LINEFORWARDMODE_BUSYNAINTERNAL = $00002000; - LINEFORWARDMODE_BUSYNAEXTERNAL = $00004000; - LINEFORWARDMODE_BUSYNASPECIFIC = $00008000; - LINEFORWARDMODE_UNKNOWN = $00010000; { TAPI v1.4 } - LINEFORWARDMODE_UNAVAIL = $00020000; { TAPI v1.4 } - - LINEGATHERTERM_BUFFERFULL = $00000001; - LINEGATHERTERM_TERMDIGIT = $00000002; - LINEGATHERTERM_FIRSTTIMEOUT = $00000004; - LINEGATHERTERM_INTERTIMEOUT = $00000008; - LINEGATHERTERM_CANCEL = $00000010; - - LINEGENERATETERM_DONE = $00000001; - LINEGENERATETERM_CANCEL = $00000002; - - { These constants are mutually exclusive - there's no way to specify more } - { than one at a time (and it doesn't make sense, either) so they're } - { ordinal rather than bits. } - - LINEINITIALIZEEXOPTION_USEHIDDENWINDOW = $00000001; { TAPI v2.0 } - LINEINITIALIZEEXOPTION_USEEVENT = $00000002; { TAPI v2.0 } - LINEINITIALIZEEXOPTION_USECOMPLETIONPORT = $00000003; { TAPI v2.0 } - - LINELOCATIONOPTION_PULSEDIAL = $00000001; { TAPI v1.4 } - - LINEMAPPER = $FFFFFFFF; - - LINEMEDIACONTROL_NONE = $00000001; - LINEMEDIACONTROL_START = $00000002; - LINEMEDIACONTROL_RESET = $00000004; - LINEMEDIACONTROL_PAUSE = $00000008; - LINEMEDIACONTROL_RESUME = $00000010; - LINEMEDIACONTROL_RATEUP = $00000020; - LINEMEDIACONTROL_RATEDOWN = $00000040; - LINEMEDIACONTROL_RATENORMAL = $00000080; - LINEMEDIACONTROL_VOLUMEUP = $00000100; - LINEMEDIACONTROL_VOLUMEDOWN = $00000200; - LINEMEDIACONTROL_VOLUMENORMAL = $00000400; - - LINEMEDIAMODE_UNKNOWN = $00000002; - LINEMEDIAMODE_INTERACTIVEVOICE = $00000004; - LINEMEDIAMODE_AUTOMATEDVOICE = $00000008; - LINEMEDIAMODE_DATAMODEM = $00000010; - LINEMEDIAMODE_G3FAX = $00000020; - LINEMEDIAMODE_TDD = $00000040; - LINEMEDIAMODE_G4FAX = $00000080; - LINEMEDIAMODE_DIGITALDATA = $00000100; - LINEMEDIAMODE_TELETEX = $00000200; - LINEMEDIAMODE_VIDEOTEX = $00000400; - LINEMEDIAMODE_TELEX = $00000800; - LINEMEDIAMODE_MIXED = $00001000; - LINEMEDIAMODE_ADSI = $00002000; - LINEMEDIAMODE_VOICEVIEW = $00004000; { TAPI v1.4 } - LAST_LINEMEDIAMODE = $00004000; - - LINEOFFERINGMODE_ACTIVE = $00000001; { TAPI v1.4 } - LINEOFFERINGMODE_INACTIVE = $00000002; { TAPI v1.4 } - - LINEOPENOPTION_SINGLEADDRESS = $80000000; { TAPI v2.0 } - LINEOPENOPTION_PROXY = $40000000; { TAPI v2.0 } - - LINEPARKMODE_DIRECTED = $00000001; - LINEPARKMODE_NONDIRECTED = $00000002; - - LINEPROXYREQUEST_SETAGENTGROUP = $00000001; { TAPI v2.0 } - LINEPROXYREQUEST_SETAGENTSTATE = $00000002; { TAPI v2.0 } - LINEPROXYREQUEST_SETAGENTACTIVITY = $00000003; { TAPI v2.0 } - LINEPROXYREQUEST_GETAGENTCAPS = $00000004; { TAPI v2.0 } - LINEPROXYREQUEST_GETAGENTSTATUS = $00000005; { TAPI v2.0 } - LINEPROXYREQUEST_AGENTSPECIFIC = $00000006; { TAPI v2.0 } - LINEPROXYREQUEST_GETAGENTACTIVITYLIST = $00000007; { TAPI v2.0 } - LINEPROXYREQUEST_GETAGENTGROUPLIST = $00000008; { TAPI v2.0 } - - LINEREMOVEFROMCONF_NONE = $00000001; - LINEREMOVEFROMCONF_LAST = $00000002; - LINEREMOVEFROMCONF_ANY = $00000003; - - LINEREQUESTMODE_MAKECALL = $00000001; - LINEREQUESTMODE_MEDIACALL = $00000002; - LINEREQUESTMODE_DROP = $00000004; - - LAST_LINEREQUESTMODE = LINEREQUESTMODE_MEDIACALL; - - LINEROAMMODE_UNKNOWN = $00000001; - LINEROAMMODE_UNAVAIL = $00000002; - LINEROAMMODE_HOME = $00000004; - LINEROAMMODE_ROAMA = $00000008; - LINEROAMMODE_ROAMB = $00000010; - - LINESPECIALINFO_NOCIRCUIT = $00000001; - LINESPECIALINFO_CUSTIRREG = $00000002; - LINESPECIALINFO_REORDER = $00000004; - LINESPECIALINFO_UNKNOWN = $00000008; - LINESPECIALINFO_UNAVAIL = $00000010; - - LINETERMDEV_PHONE = $00000001; - LINETERMDEV_HEADSET = $00000002; - LINETERMDEV_SPEAKER = $00000004; - - LINETERMMODE_BUTTONS = $00000001; - LINETERMMODE_LAMPS = $00000002; - LINETERMMODE_DISPLAY = $00000004; - LINETERMMODE_RINGER = $00000008; - LINETERMMODE_HOOKSWITCH = $00000010; - LINETERMMODE_MEDIATOLINE = $00000020; - LINETERMMODE_MEDIAFROMLINE = $00000040; - LINETERMMODE_MEDIABIDIRECT = $00000080; - - LINETERMSHARING_PRIVATE = $00000001; - LINETERMSHARING_SHAREDEXCL = $00000002; - LINETERMSHARING_SHAREDCONF = $00000004; - - LINETOLLLISTOPTION_ADD = $00000001; - LINETOLLLISTOPTION_REMOVE = $00000002; - - LINETONEMODE_CUSTOM = $00000001; - LINETONEMODE_RINGBACK = $00000002; - LINETONEMODE_BUSY = $00000004; - LINETONEMODE_BEEP = $00000008; - LINETONEMODE_BILLING = $00000010; - - LINETRANSFERMODE_TRANSFER = $00000001; - LINETRANSFERMODE_CONFERENCE = $00000002; - - LINETRANSLATEOPTION_CARDOVERRIDE = $00000001; - LINETRANSLATEOPTION_CANCELCALLWAITING = $00000002; { TAPI v1.4 } - LINETRANSLATEOPTION_FORCELOCAL = $00000004; { TAPI v1.4 } - LINETRANSLATEOPTION_FORCELD = $00000008; { TAPI v1.4 } - LINETRANSLATERESULT_CANONICAL = $00000001; - LINETRANSLATERESULT_INTERNATIONAL = $00000002; - LINETRANSLATERESULT_LONGDISTANCE = $00000004; - LINETRANSLATERESULT_LOCAL = $00000008; - LINETRANSLATERESULT_INTOLLLIST = $00000010; - LINETRANSLATERESULT_NOTINTOLLLIST = $00000020; - LINETRANSLATERESULT_DIALBILLING = $00000040; - LINETRANSLATERESULT_DIALQUIET = $00000080; - LINETRANSLATERESULT_DIALDIALTONE = $00000100; - LINETRANSLATERESULT_DIALPROMPT = $00000200; - LINETRANSLATERESULT_VOICEDETECT = $00000400; { TAPI v2.0 } - - PHONEBUTTONFUNCTION_UNKNOWN = $00000000; - PHONEBUTTONFUNCTION_CONFERENCE = $00000001; - PHONEBUTTONFUNCTION_TRANSFER = $00000002; - PHONEBUTTONFUNCTION_DROP = $00000003; - PHONEBUTTONFUNCTION_HOLD = $00000004; - PHONEBUTTONFUNCTION_RECALL = $00000005; - PHONEBUTTONFUNCTION_DISCONNECT = $00000006; - PHONEBUTTONFUNCTION_CONNECT = $00000007; - PHONEBUTTONFUNCTION_MSGWAITON = $00000008; - PHONEBUTTONFUNCTION_MSGWAITOFF = $00000009; - PHONEBUTTONFUNCTION_SELECTRING = $0000000A; - PHONEBUTTONFUNCTION_ABBREVDIAL = $0000000B; - PHONEBUTTONFUNCTION_FORWARD = $0000000C; - PHONEBUTTONFUNCTION_PICKUP = $0000000D; - PHONEBUTTONFUNCTION_RINGAGAIN = $0000000E; - PHONEBUTTONFUNCTION_PARK = $0000000F; - PHONEBUTTONFUNCTION_REJECT = $00000010; - PHONEBUTTONFUNCTION_REDIRECT = $00000011; - PHONEBUTTONFUNCTION_MUTE = $00000012; - PHONEBUTTONFUNCTION_VOLUMEUP = $00000013; - PHONEBUTTONFUNCTION_VOLUMEDOWN = $00000014; - PHONEBUTTONFUNCTION_SPEAKERON = $00000015; - PHONEBUTTONFUNCTION_SPEAKEROFF = $00000016; - PHONEBUTTONFUNCTION_FLASH = $00000017; - PHONEBUTTONFUNCTION_DATAON = $00000018; - PHONEBUTTONFUNCTION_DATAOFF = $00000019; - PHONEBUTTONFUNCTION_DONOTDISTURB = $0000001A; - PHONEBUTTONFUNCTION_INTERCOM = $0000001B; - PHONEBUTTONFUNCTION_BRIDGEDAPP = $0000001C; - PHONEBUTTONFUNCTION_BUSY = $0000001D; - PHONEBUTTONFUNCTION_CALLAPP = $0000001E; - PHONEBUTTONFUNCTION_DATETIME = $0000001F; - PHONEBUTTONFUNCTION_DIRECTORY = $00000020; - PHONEBUTTONFUNCTION_COVER = $00000021; - PHONEBUTTONFUNCTION_CALLID = $00000022; - PHONEBUTTONFUNCTION_LASTNUM = $00000023; - PHONEBUTTONFUNCTION_NIGHTSRV = $00000024; - PHONEBUTTONFUNCTION_SENDCALLS = $00000025; - PHONEBUTTONFUNCTION_MSGINDICATOR = $00000026; - PHONEBUTTONFUNCTION_REPDIAL = $00000027; - PHONEBUTTONFUNCTION_SETREPDIAL = $00000028; - PHONEBUTTONFUNCTION_SYSTEMSPEED = $00000029; - PHONEBUTTONFUNCTION_STATIONSPEED = $0000002A; - PHONEBUTTONFUNCTION_CAMPON = $0000002B; - PHONEBUTTONFUNCTION_SAVEREPEAT = $0000002C; - PHONEBUTTONFUNCTION_QUEUECALL = $0000002D; - PHONEBUTTONFUNCTION_NONE = $0000002E; - - PHONEBUTTONMODE_DUMMY = $00000001; - PHONEBUTTONMODE_CALL = $00000002; - PHONEBUTTONMODE_FEATURE = $00000004; - PHONEBUTTONMODE_KEYPAD = $00000008; - PHONEBUTTONMODE_LOCAL = $00000010; - PHONEBUTTONMODE_DISPLAY = $00000020; - - PHONEBUTTONSTATE_UP = $00000001; - PHONEBUTTONSTATE_DOWN = $00000002; - PHONEBUTTONSTATE_UNKNOWN = $00000004; { TAPI v1.4 } - PHONEBUTTONSTATE_UNAVAIL = $00000008; { TAPI v1.4 } - - PHONEERR_ALLOCATED = $90000001; - PHONEERR_BADDEVICEID = $90000002; - PHONEERR_INCOMPATIBLEAPIVERSION = $90000003; - PHONEERR_INCOMPATIBLEEXTVERSION = $90000004; - PHONEERR_INIFILECORRUPT = $90000005; - PHONEERR_INUSE = $90000006; - PHONEERR_INVALAPPHANDLE = $90000007; - PHONEERR_INVALAPPNAME = $90000008; - PHONEERR_INVALBUTTONLAMPID = $90000009; - PHONEERR_INVALBUTTONMODE = $9000000A; - PHONEERR_INVALBUTTONSTATE = $9000000B; - PHONEERR_INVALDATAID = $9000000C; - PHONEERR_INVALDEVICECLASS = $9000000D; - PHONEERR_INVALEXTVERSION = $9000000E; - PHONEERR_INVALHOOKSWITCHDEV = $9000000F; - PHONEERR_INVALHOOKSWITCHMODE = $90000010; - PHONEERR_INVALLAMPMODE = $90000011; - PHONEERR_INVALPARAM = $90000012; - PHONEERR_INVALPHONEHANDLE = $90000013; - PHONEERR_INVALPHONESTATE = $90000014; - PHONEERR_INVALPOINTER = $90000015; - PHONEERR_INVALPRIVILEGE = $90000016; - PHONEERR_INVALRINGMODE = $90000017; - PHONEERR_NODEVICE = $90000018; - PHONEERR_NODRIVER = $90000019; - PHONEERR_NOMEM = $9000001A; - PHONEERR_NOTOWNER = $9000001B; - PHONEERR_OPERATIONFAILED = $9000001C; - PHONEERR_OPERATIONUNAVAIL = $9000001D; - PHONEERR_RESOURCEUNAVAIL = $9000001F; - PHONEERR_REQUESTOVERRUN = $90000020; - PHONEERR_STRUCTURETOOSMALL = $90000021; - PHONEERR_UNINITIALIZED = $90000022; - PHONEERR_REINIT = $90000023; - - PHONEFEATURE_GETBUTTONINFO = $00000001; { TAPI v2.0 } - PHONEFEATURE_GETDATA = $00000002; { TAPI v2.0 } - PHONEFEATURE_GETDISPLAY = $00000004; { TAPI v2.0 } - PHONEFEATURE_GETGAINHANDSET = $00000008; { TAPI v2.0 } - PHONEFEATURE_GETGAINSPEAKER = $00000010; { TAPI v2.0 } - PHONEFEATURE_GETGAINHEADSET = $00000020; { TAPI v2.0 } - PHONEFEATURE_GETHOOKSWITCHHANDSET = $00000040; { TAPI v2.0 } - PHONEFEATURE_GETHOOKSWITCHSPEAKER = $00000080; { TAPI v2.0 } - PHONEFEATURE_GETHOOKSWITCHHEADSET = $00000100; { TAPI v2.0 } - PHONEFEATURE_GETLAMP = $00000200; { TAPI v2.0 } - PHONEFEATURE_GETRING = $00000400; { TAPI v2.0 } - PHONEFEATURE_GETVOLUMEHANDSET = $00000800; { TAPI v2.0 } - PHONEFEATURE_GETVOLUMESPEAKER = $00001000; { TAPI v2.0 } - PHONEFEATURE_GETVOLUMEHEADSET = $00002000; { TAPI v2.0 } - PHONEFEATURE_SETBUTTONINFO = $00004000; { TAPI v2.0 } - PHONEFEATURE_SETDATA = $00008000; { TAPI v2.0 } - PHONEFEATURE_SETDISPLAY = $00010000; { TAPI v2.0 } - PHONEFEATURE_SETGAINHANDSET = $00020000; { TAPI v2.0 } - PHONEFEATURE_SETGAINSPEAKER = $00040000; { TAPI v2.0 } - PHONEFEATURE_SETGAINHEADSET = $00080000; { TAPI v2.0 } - PHONEFEATURE_SETHOOKSWITCHHANDSET = $00100000; { TAPI v2.0 } - PHONEFEATURE_SETHOOKSWITCHSPEAKER = $00200000; { TAPI v2.0 } - PHONEFEATURE_SETHOOKSWITCHHEADSET = $00400000; { TAPI v2.0 } - PHONEFEATURE_SETLAMP = $00800000; { TAPI v2.0 } - PHONEFEATURE_SETRING = $01000000; { TAPI v2.0 } - PHONEFEATURE_SETVOLUMEHANDSET = $02000000; { TAPI v2.0 } - PHONEFEATURE_SETVOLUMESPEAKER = $04000000; { TAPI v2.0 } - PHONEFEATURE_SETVOLUMEHEADSET = $08000000; { TAPI v2.0 } - - PHONEHOOKSWITCHDEV_HANDSET = $00000001; - PHONEHOOKSWITCHDEV_SPEAKER = $00000002; - PHONEHOOKSWITCHDEV_HEADSET = $00000004; - - PHONEHOOKSWITCHMODE_ONHOOK = $00000001; - PHONEHOOKSWITCHMODE_MIC = $00000002; - PHONEHOOKSWITCHMODE_SPEAKER = $00000004; - PHONEHOOKSWITCHMODE_MICSPEAKER = $00000008; - PHONEHOOKSWITCHMODE_UNKNOWN = $00000010; - - PHONEINITIALIZEEXOPTION_USEHIDDENWINDOW = $00000001; { TAPI v2.0 } - PHONEINITIALIZEEXOPTION_USEEVENT = $00000002; { TAPI v2.0 } - PHONEINITIALIZEEXOPTION_USECOMPLETIONPORT = $00000003; { TAPI v2.0 } - - PHONELAMPMODE_DUMMY = $00000001; - PHONELAMPMODE_OFF = $00000002; - PHONELAMPMODE_STEADY = $00000004; - PHONELAMPMODE_WINK = $00000008; - PHONELAMPMODE_FLASH = $00000010; - PHONELAMPMODE_FLUTTER = $00000020; - PHONELAMPMODE_BROKENFLUTTER = $00000040; - PHONELAMPMODE_UNKNOWN = $00000080; - - PHONEPRIVILEGE_MONITOR = $00000001; - PHONEPRIVILEGE_OWNER = $00000002; - - PHONESTATE_OTHER = $00000001; - PHONESTATE_CONNECTED = $00000002; - PHONESTATE_DISCONNECTED = $00000004; - PHONESTATE_OWNER = $00000008; - PHONESTATE_MONITORS = $00000010; - PHONESTATE_DISPLAY = $00000020; - PHONESTATE_LAMP = $00000040; - PHONESTATE_RINGMODE = $00000080; - PHONESTATE_RINGVOLUME = $00000100; - PHONESTATE_HANDSETHOOKSWITCH = $00000200; - PHONESTATE_HANDSETVOLUME = $00000400; - PHONESTATE_HANDSETGAIN = $00000800; - PHONESTATE_SPEAKERHOOKSWITCH = $00001000; - PHONESTATE_SPEAKERVOLUME = $00002000; - PHONESTATE_SPEAKERGAIN = $00004000; - PHONESTATE_HEADSETHOOKSWITCH = $00008000; - PHONESTATE_HEADSETVOLUME = $00010000; - PHONESTATE_HEADSETGAIN = $00020000; - PHONESTATE_SUSPEND = $00040000; - PHONESTATE_RESUME = $00080000; - PHONESTATE_DEVSPECIFIC = $00100000; - PHONESTATE_REINIT = $00200000; - PHONESTATE_CAPSCHANGE = $00400000; { TAPI v1.4 } - PHONESTATE_REMOVED = $00800000; { TAPI v1.4 } - - PHONESTATUSFLAGS_CONNECTED = $00000001; - PHONESTATUSFLAGS_SUSPENDED = $00000002; - - STRINGFORMAT_ASCII = $00000001; - STRINGFORMAT_DBCS = $00000002; - STRINGFORMAT_UNICODE = $00000003; - STRINGFORMAT_BINARY = $00000004; - - TAPI_REPLY = WM_USER + 99; - - TAPIERR_CONNECTED = 0; - TAPIERR_DROPPED = -(1); - TAPIERR_NOREQUESTRECIPIENT = -(2); - TAPIERR_REQUESTQUEUEFULL = -(3); - TAPIERR_INVALDESTADDRESS = -(4); - TAPIERR_INVALWINDOWHANDLE = -(5); - TAPIERR_INVALDEVICECLASS = -(6); - TAPIERR_INVALDEVICEID = -(7); - TAPIERR_DEVICECLASSUNAVAIL = -(8); - TAPIERR_DEVICEIDUNAVAIL = -(9); - TAPIERR_DEVICEINUSE = -(10); - TAPIERR_DESTBUSY = -(11); - TAPIERR_DESTNOANSWER = -(12); - TAPIERR_DESTUNAVAIL = -(13); - TAPIERR_UNKNOWNWINHANDLE = -(14); - TAPIERR_UNKNOWNREQUESTID = -(15); - TAPIERR_REQUESTFAILED = -(16); - TAPIERR_REQUESTCANCELLED = -(17); - TAPIERR_INVALPOINTER = -(18); - - TAPIMAXDESTADDRESSSIZE = 80; - TAPIMAXAPPNAMESIZE = 40; - TAPIMAXCALLEDPARTYSIZE = 40; - TAPIMAXCOMMENTSIZE = 80; - TAPIMAXDEVICECLASSSIZE = 40; - TAPIMAXDEVICEIDSIZE = 40; - -//***************************************************************************** -// types -//***************************************************************************** - -type - - HCALL = HANDLE; - LPHCALL = ^HCALL; - - HLINE = HANDLE; - LPHLINE = ^HLINE; - - HPHONE = HANDLE; - LPHPHONE = ^HPHONE; - - HLINEAPP = HANDLE; - LPHLINEAPP = ^HLINEAPP; - - HPHONEAPP = HANDLE; - LPHPHONEAPP = ^HPHONEAPP; - - LINECALLBACK = procedure (hDevice:DWORD; dwMessage:DWORD; dwInstance:DWORD; dwParam1:DWORD; dwParam2:DWORD; - dwParam3:DWORD); - - PHONECALLBACK = procedure (hDevice:DWORD; dwMessage:DWORD; dwInstance:DWORD; dwParam1:DWORD; dwParam2:DWORD; - dwParam3:DWORD); - - lineaddresscaps_tag = record - dwTotalSize : DWORD; - dwNeededSize : DWORD; - dwUsedSize : DWORD; - dwLineDeviceID : DWORD; - dwAddressSize : DWORD; - dwAddressOffset : DWORD; - dwDevSpecificSize : DWORD; - dwDevSpecificOffset : DWORD; - dwAddressSharing : DWORD; - dwAddressStates : DWORD; - dwCallInfoStates : DWORD; - dwCallerIDFlags : DWORD; - dwCalledIDFlags : DWORD; - dwConnectedIDFlags : DWORD; - dwRedirectionIDFlags : DWORD; - dwRedirectingIDFlags : DWORD; - dwCallStates : DWORD; - dwDialToneModes : DWORD; - dwBusyModes : DWORD; - dwSpecialInfo : DWORD; - dwDisconnectModes : DWORD; - dwMaxNumActiveCalls : DWORD; - dwMaxNumOnHoldCalls : DWORD; - dwMaxNumOnHoldPendingCalls : DWORD; - dwMaxNumConference : DWORD; - dwMaxNumTransConf : DWORD; - dwAddrCapFlags : DWORD; - dwCallFeatures : DWORD; - dwRemoveFromConfCaps : DWORD; - dwRemoveFromConfState : DWORD; - dwTransferModes : DWORD; - dwParkModes : DWORD; - dwForwardModes : DWORD; - dwMaxForwardEntries : DWORD; - dwMaxSpecificEntries : DWORD; - dwMinFwdNumRings : DWORD; - dwMaxFwdNumRings : DWORD; - dwMaxCallCompletions : DWORD; - dwCallCompletionConds : DWORD; - dwCallCompletionModes : DWORD; - dwNumCompletionMessages : DWORD; - dwCompletionMsgTextEntrySize : DWORD; - dwCompletionMsgTextSize : DWORD; - dwCompletionMsgTextOffset : DWORD; - - dwAddressFeatures : DWORD; // TAPI v1.4 - - dwPredictiveAutoTransferStates : DWORD; // TAPI v2.0 - dwNumCallTreatments : DWORD; // TAPI v2.0 - dwCallTreatmentListSize : DWORD; // TAPI v2.0 - dwCallTreatmentListOffset : DWORD; // TAPI v2.0 - dwDeviceClassesSize : DWORD; // TAPI v2.0 - dwDeviceClassesOffset : DWORD; // TAPI v2.0 - dwMaxCallDataSize : DWORD; // TAPI v2.0 - dwCallFeatures2 : DWORD; // TAPI v2.0 - dwMaxNoAnswerTimeout : DWORD; // TAPI v2.0 - dwConnectedModes : DWORD; // TAPI v2.0 - dwOfferingModes : DWORD; // TAPI v2.0 - dwAvailableMediaModes : DWORD; // TAPI v2.0 - end; - TLINEADDRESSCAPS = lineaddresscaps_tag; - LPLINEADDRESSCAPS = ^lineaddresscaps_tag; - - lineaddressstatus_tag = record - dwTotalSize : DWORD; - dwNeededSize : DWORD; - dwUsedSize : DWORD; - dwNumInUse : DWORD; - dwNumActiveCalls : DWORD; - dwNumOnHoldCalls : DWORD; - dwNumOnHoldPendCalls : DWORD; - dwAddressFeatures : DWORD; - dwNumRingsNoAnswer : DWORD; - dwForwardNumEntries : DWORD; - dwForwardSize : DWORD; - dwForwardOffset : DWORD; - dwTerminalModesSize : DWORD; - dwTerminalModesOffset : DWORD; - dwDevSpecificSize : DWORD; - dwDevSpecificOffset : DWORD; - end; - TLINEADDRESSSTATUS = lineaddressstatus_tag; - LPLINEADDRESSSTATUS = ^lineaddressstatus_tag; - - linedialparams_tag = record - dwDialPause : DWORD; - dwDialSpeed : DWORD; - dwDigitDuration : DWORD; - dwWaitForDialtone : DWORD; - end; - TLINEDIALPARAMS = linedialparams_tag; - LPLINEDIALPARAMS = ^linedialparams_tag; - - linecallinfo_tag = record - dwTotalSize : DWORD; - dwNeededSize : DWORD; - dwUsedSize : DWORD; - hLine : HLINE; - dwLineDeviceID : DWORD; - dwAddressID : DWORD; - dwBearerMode : DWORD; - dwRate : DWORD; - dwMediaMode : DWORD; - dwAppSpecific : DWORD; - dwCallID : DWORD; - dwRelatedCallID : DWORD; - dwCallParamFlags : DWORD; - dwCallStates : DWORD; - dwMonitorDigitModes : DWORD; - dwMonitorMediaModes : DWORD; - DialParams : TLINEDIALPARAMS; - dwOrigin : DWORD; - dwReason : DWORD; - dwCompletionID : DWORD; - dwNumOwners : DWORD; - dwNumMonitors : DWORD; - dwCountryCode : DWORD; - dwTrunk : DWORD; - dwCallerIDFlags : DWORD; - dwCallerIDSize : DWORD; - dwCallerIDOffset : DWORD; - dwCallerIDNameSize : DWORD; - dwCallerIDNameOffset : DWORD; - dwCalledIDFlags : DWORD; - dwCalledIDSize : DWORD; - dwCalledIDOffset : DWORD; - dwCalledIDNameSize : DWORD; - dwCalledIDNameOffset : DWORD; - dwConnectedIDFlags : DWORD; - dwConnectedIDSize : DWORD; - dwConnectedIDOffset : DWORD; - dwConnectedIDNameSize : DWORD; - dwConnectedIDNameOffset : DWORD; - dwRedirectionIDFlags : DWORD; - dwRedirectionIDSize : DWORD; - dwRedirectionIDOffset : DWORD; - dwRedirectionIDNameSize : DWORD; - dwRedirectionIDNameOffset : DWORD; - dwRedirectingIDFlags : DWORD; - dwRedirectingIDSize : DWORD; - dwRedirectingIDOffset : DWORD; - dwRedirectingIDNameSize : DWORD; - dwRedirectingIDNameOffset : DWORD; - dwAppNameSize : DWORD; - dwAppNameOffset : DWORD; - dwDisplayableAddressSize : DWORD; - dwDisplayableAddressOffset : DWORD; - dwCalledPartySize : DWORD; - dwCalledPartyOffset : DWORD; - dwCommentSize : DWORD; - dwCommentOffset : DWORD; - dwDisplaySize : DWORD; - dwDisplayOffset : DWORD; - dwUserUserInfoSize : DWORD; - dwUserUserInfoOffset : DWORD; - dwHighLevelCompSize : DWORD; - dwHighLevelCompOffset : DWORD; - dwLowLevelCompSize : DWORD; - dwLowLevelCompOffset : DWORD; - dwChargingInfoSize : DWORD; - dwChargingInfoOffset : DWORD; - dwTerminalModesSize : DWORD; - dwTerminalModesOffset : DWORD; - dwDevSpecificSize : DWORD; - dwDevSpecificOffset : DWORD; - dwCallTreatment : DWORD; // TAPI v2.0 - dwCallDataSize : DWORD; // TAPI v2.0 - dwCallDataOffset : DWORD; // TAPI v2.0 - dwSendingFlowspecSize : DWORD; // TAPI v2.0 - dwSendingFlowspecOffset : DWORD; // TAPI v2.0 - dwReceivingFlowspecSize : DWORD; // TAPI v2.0 - dwReceivingFlowspecOffset : DWORD; // TAPI v2.0 - dwAddressType : DWORD; // TAPI v3.0 - end; - TLINECALLINFO = linecallinfo_tag; - LPLINECALLINFO = ^linecallinfo_tag; - - linecalllist_tag = record - dwTotalSize : DWORD; - dwNeededSize : DWORD; - dwUsedSize : DWORD; - dwCallsNumEntries : DWORD; - dwCallsSize : DWORD; - dwCallsOffset : DWORD; - end; - TLINECALLLIST = linecalllist_tag; - LPLINECALLLIST = ^linecalllist_tag; - - linecallparams_tag = record // Defaults: - dwTotalSize : DWORD; - dwBearerMode : DWORD; // voice - dwMinRate : DWORD; // (3.1kHz) - dwMaxRate : DWORD; // (3.1kHz) - dwMediaMode : DWORD; // interactiveVoice - dwCallParamFlags : DWORD; // 0 - dwAddressMode : DWORD; - dwAddressID : DWORD; // (any available) - DialParams : TLINEDIALPARAMS; // (0, 0, 0, 0) - dwOrigAddressSize : DWORD; // 0 - dwOrigAddressOffset : DWORD; - dwDisplayableAddressSize : DWORD; - dwDisplayableAddressOffset : DWORD; - dwCalledPartySize : DWORD; // 0 - dwCalledPartyOffset : DWORD; - dwCommentSize : DWORD; // 0 - dwCommentOffset : DWORD; - dwUserUserInfoSize : DWORD; // 0 - dwUserUserInfoOffset : DWORD; - dwHighLevelCompSize : DWORD; // 0 - dwHighLevelCompOffset : DWORD; - dwLowLevelCompSize : DWORD; // 0 - dwLowLevelCompOffset : DWORD; - dwDevSpecificSize : DWORD; // 0 - dwDevSpecificOffset : DWORD; - dwPredictiveAutoTransferStates : DWORD; // TAPI v2.0 - dwTargetAddressSize : DWORD; // TAPI v2.0 - dwTargetAddressOffset : DWORD; // TAPI v2.0 - dwSendingFlowspecSize : DWORD; // TAPI v2.0 - dwSendingFlowspecOffset : DWORD; // TAPI v2.0 - dwReceivingFlowspecSize : DWORD; // TAPI v2.0 - dwReceivingFlowspecOffset : DWORD; // TAPI v2.0 - dwDeviceClassSize : DWORD; // TAPI v2.0 - dwDeviceClassOffset : DWORD; // TAPI v2.0 - dwDeviceConfigSize : DWORD; // TAPI v2.0 - dwDeviceConfigOffset : DWORD; // TAPI v2.0 - dwCallDataSize : DWORD; // TAPI v2.0 - dwCallDataOffset : DWORD; // TAPI v2.0 - dwNoAnswerTimeout : DWORD; // TAPI v2.0 - dwCallingPartyIDSize : DWORD; // TAPI v2.0 - dwCallingPartyIDOffset : DWORD; // TAPI v2.0 - dwAddressType : DWORD; // TAPI v3.0 - end; - TLINECALLPARAMS = linecallparams_tag; - LPLINECALLPARAMS = ^linecallparams_tag; - - linecallstatus_tag = record - dwTotalSize : DWORD; - dwNeededSize : DWORD; - dwUsedSize : DWORD; - dwCallState : DWORD; - dwCallStateMode : DWORD; - dwCallPrivilege : DWORD; - dwCallFeatures : DWORD; - dwDevSpecificSize : DWORD; - dwDevSpecificOffset : DWORD; - - dwCallFeatures2 : DWORD; // TAPI v2.0 - tStateEntryTime : SYSTEMTIME; // TAPI v2.0 - end; - TLINECALLSTATUS = linecallstatus_tag; - LPLINECALLSTATUS = ^linecallstatus_tag; - - linecalltreatmententry_tag = record - dwCallTreatmentID : DWORD; // TAPI v2.0 - dwCallTreatmentNameSize : DWORD; // TAPI v2.0 - dwCallTreatmentNameOffset : DWORD; // TAPI v2.0 - end; - TLINECALLTREATMENTENTRY = linecalltreatmententry_tag; - LPLINECALLTREATMENTENTRY = ^linecalltreatmententry_tag; - - linecardentry_tag = record - dwPermanentCardID : DWORD; - dwCardNameSize : DWORD; - dwCardNameOffset : DWORD; - dwCardNumberDigits : DWORD; // TAPI v1.4 - dwSameAreaRuleSize : DWORD; // TAPI v1.4 - dwSameAreaRuleOffset : DWORD; // TAPI v1.4 - dwLongDistanceRuleSize : DWORD; // TAPI v1.4 - dwLongDistanceRuleOffset : DWORD; // TAPI v1.4 - dwInternationalRuleSize : DWORD; // TAPI v1.4 - dwInternationalRuleOffset : DWORD; // TAPI v1.4 - dwOptions : DWORD; // TAPI v1.4 - end; - TLINECARDENTRY = linecardentry_tag; - LPLINECARDENTRY = ^linecardentry_tag; - - linecountryentry_tag = record // TAPI v1.4 - dwCountryID : DWORD; // TAPI v1.4 - dwCountryCode : DWORD; // TAPI v1.4 - dwNextCountryID : DWORD; // TAPI v1.4 - dwCountryNameSize : DWORD; // TAPI v1.4 - dwCountryNameOffset : DWORD; // TAPI v1.4 - dwSameAreaRuleSize : DWORD; // TAPI v1.4 - dwSameAreaRuleOffset : DWORD; // TAPI v1.4 - dwLongDistanceRuleSize : DWORD; // TAPI v1.4 - dwLongDistanceRuleOffset : DWORD; // TAPI v1.4 - dwInternationalRuleSize : DWORD; // TAPI v1.4 - dwInternationalRuleOffset : DWORD; // TAPI v1.4 - end; - TLINECOUNTRYENTRY = linecountryentry_tag; - LPLINECOUNTRYENTRY = ^linecountryentry_tag; - - linecountrylist_tag = record - dwTotalSize : DWORD; // TAPI v1.4 - dwNeededSize : DWORD; // TAPI v1.4 - dwUsedSize : DWORD; // TAPI v1.4 - dwNumCountries : DWORD; // TAPI v1.4 - dwCountryListSize : DWORD; // TAPI v1.4 - dwCountryListOffset : DWORD; // TAPI v1.4 - end; - TLINECOUNTRYLIST = linecountrylist_tag; - LPLINECOUNTRYLIST = ^linecountrylist_tag; - - linedevcaps_tag = record - dwTotalSize : DWORD; - dwNeededSize : DWORD; - dwUsedSize : DWORD; - dwProviderInfoSize : DWORD; - dwProviderInfoOffset : DWORD; - dwSwitchInfoSize : DWORD; - dwSwitchInfoOffset : DWORD; - dwPermanentLineID : DWORD; - dwLineNameSize : DWORD; - dwLineNameOffset : DWORD; - dwStringFormat : DWORD; - dwAddressModes : DWORD; - dwNumAddresses : DWORD; - dwBearerModes : DWORD; - dwMaxRate : DWORD; - dwMediaModes : DWORD; - dwGenerateToneModes : DWORD; - dwGenerateToneMaxNumFreq : DWORD; - dwGenerateDigitModes : DWORD; - dwMonitorToneMaxNumFreq : DWORD; - dwMonitorToneMaxNumEntries : DWORD; - dwMonitorDigitModes : DWORD; - dwGatherDigitsMinTimeout : DWORD; - dwGatherDigitsMaxTimeout : DWORD; - dwMedCtlDigitMaxListSize : DWORD; - dwMedCtlMediaMaxListSize : DWORD; - dwMedCtlToneMaxListSize : DWORD; - dwMedCtlCallStateMaxListSize : DWORD; - dwDevCapFlags : DWORD; - dwMaxNumActiveCalls : DWORD; - dwAnswerMode : DWORD; - dwRingModes : DWORD; - dwLineStates : DWORD; - dwUUIAcceptSize : DWORD; - dwUUIAnswerSize : DWORD; - dwUUIMakeCallSize : DWORD; - dwUUIDropSize : DWORD; - dwUUISendUserUserInfoSize : DWORD; - dwUUICallInfoSize : DWORD; - MinDialParams : TLINEDIALPARAMS; - MaxDialParams : TLINEDIALPARAMS; - DefaultDialParams : TLINEDIALPARAMS; - dwNumTerminals : DWORD; - dwTerminalCapsSize : DWORD; - dwTerminalCapsOffset : DWORD; - dwTerminalTextEntrySize : DWORD; - dwTerminalTextSize : DWORD; - dwTerminalTextOffset : DWORD; - dwDevSpecificSize : DWORD; - dwDevSpecificOffset : DWORD; - - dwLineFeatures : DWORD; // TAPI v1.4 - - dwSettableDevStatus : DWORD; // TAPI v2.0 - dwDeviceClassesSize : DWORD; // TAPI v2.0 - dwDeviceClassesOffset : DWORD; // TAPI v2.0 - PermanentLineGuid : GUID; // TAPI v2.2 - dwAddressTypes : DWORD; // TAPI v3.0 - ProtocolGuid : GUID; // TAPI v3.0 - dwAvailableTracking : DWORD; // TAPI v3.0 - end; - TLINEDEVCAPS = linedevcaps_tag; - LPLINEDEVCAPS = ^linedevcaps_tag; - - linedevstatus_tag = record - dwTotalSize : DWORD; - dwNeededSize : DWORD; - dwUsedSize : DWORD; - dwNumOpens : DWORD; - dwOpenMediaModes : DWORD; - dwNumActiveCalls : DWORD; - dwNumOnHoldCalls : DWORD; - dwNumOnHoldPendCalls : DWORD; - dwLineFeatures : DWORD; - dwNumCallCompletions : DWORD; - dwRingMode : DWORD; - dwSignalLevel : DWORD; - dwBatteryLevel : DWORD; - dwRoamMode : DWORD; - dwDevStatusFlags : DWORD; - dwTerminalModesSize : DWORD; - dwTerminalModesOffset : DWORD; - dwDevSpecificSize : DWORD; - dwDevSpecificOffset : DWORD; - - dwAvailableMediaModes : DWORD; // TAPI v2.0 - dwAppInfoSize : DWORD; // TAPI v2.0 - dwAppInfoOffset : DWORD; // TAPI v2.0 - end; - LINEDEVSTATUS = linedevstatus_tag; - LPLINEDEVSTATUS = ^linedevstatus_tag; - - lineextensionid_tag = record - dwExtensionID0 : DWORD; - dwExtensionID1 : DWORD; - dwExtensionID2 : DWORD; - dwExtensionID3 : DWORD; - end; - TLINEEXTENSIONID = lineextensionid_tag; - LPLINEEXTENSIONID = ^lineextensionid_tag; - - lineforward_tag = record - dwForwardMode : DWORD; - dwCallerAddressSize : DWORD; - dwCallerAddressOffset : DWORD; - dwDestCountryCode : DWORD; - dwDestAddressSize : DWORD; - dwDestAddressOffset : DWORD; - end; - TLINEFORWARD = lineforward_tag; - LPLINEFORWARD = ^lineforward_tag; - - lineforwardlist_tag = record - dwTotalSize : DWORD; - dwNumEntries : DWORD; - ForwardList : array[0..0] of TLINEFORWARD; - end; - TLINEFORWARDLIST = lineforwardlist_tag; - LPLINEFORWARDLIST = ^lineforwardlist_tag; - - linegeneratetone_tag = record - dwFrequency : DWORD; - dwCadenceOn : DWORD; - dwCadenceOff : DWORD; - dwVolume : DWORD; - end; - TLINEGENERATETONE = linegeneratetone_tag; - LPLINEGENERATETONE = ^linegeneratetone_tag; - - lineinitializeexparams_tag = record - dwTotalSize : DWORD; // TAPI v2.0 - dwNeededSize : DWORD; // TAPI v2.0 - dwUsedSize : DWORD; // TAPI v2.0 - dwOptions : DWORD; // TAPI v2.0 - - Handles : record - case longint of - 0 : ( hEvent : HANDLE ); // TAPI v2.0 - 1 : ( hCompletionPort : HANDLE ); // TAPI v2.0 - end; - dwCompletionKey : DWORD; // TAPI v2.0 - end; - TLINEINITIALIZEEXPARAMS = lineinitializeexparams_tag; - LPLINEINITIALIZEEXPARAMS = ^lineinitializeexparams_tag; - - linelocationentry_tag = record - dwPermanentLocationID : DWORD; - dwLocationNameSize : DWORD; - dwLocationNameOffset : DWORD; - dwCountryCode : DWORD; - dwCityCodeSize : DWORD; - dwCityCodeOffset : DWORD; - dwPreferredCardID : DWORD; - - dwLocalAccessCodeSize : DWORD; // TAPI v1.4 - dwLocalAccessCodeOffset : DWORD; // TAPI v1.4 - dwLongDistanceAccessCodeSize : DWORD; // TAPI v1.4 - dwLongDistanceAccessCodeOffset : DWORD; // TAPI v1.4 - dwTollPrefixListSize : DWORD; // TAPI v1.4 - dwTollPrefixListOffset : DWORD; // TAPI v1.4 - dwCountryID : DWORD; // TAPI v1.4 - dwOptions : DWORD; // TAPI v1.4 - dwCancelCallWaitingSize : DWORD; // TAPI v1.4 - dwCancelCallWaitingOffset : DWORD; // TAPI v1.4 - end; - TLINELOCATIONENTRY = linelocationentry_tag; - LPLINELOCATIONENTRY = ^linelocationentry_tag; - - linemediacontrolcallstate_tag = record - dwCallStates : DWORD; - dwMediaControl : DWORD; - end; - TLINEMEDIACONTROLCALLSTATE = linemediacontrolcallstate_tag; - LPLINEMEDIACONTROLCALLSTATE = ^linemediacontrolcallstate_tag; - - linemediacontroldigit_tag = record - dwDigit : DWORD; - dwDigitModes : DWORD; - dwMediaControl : DWORD; - end; - TLINEMEDIACONTROLDIGIT = linemediacontroldigit_tag; - LPLINEMEDIACONTROLDIGIT = ^linemediacontroldigit_tag; - - linemediacontrolmedia_tag = record - dwMediaModes : DWORD; - dwDuration : DWORD; - dwMediaControl : DWORD; - end; - TLINEMEDIACONTROLMEDIA = linemediacontrolmedia_tag; - LPLINEMEDIACONTROLMEDIA = ^linemediacontrolmedia_tag; - - linemediacontroltone_tag = record - dwAppSpecific : DWORD; - dwDuration : DWORD; - dwFrequency1 : DWORD; - dwFrequency2 : DWORD; - dwFrequency3 : DWORD; - dwMediaControl : DWORD; - end; - TLINEMEDIACONTROLTONE = linemediacontroltone_tag; - LPLINEMEDIACONTROLTONE = ^linemediacontroltone_tag; - - linemessage_tag = record - hDevice : DWORD; // TAPI v2.0 - dwMessageID : DWORD; // TAPI v2.0 - dwCallbackInstance : DWORD; // TAPI v2.0 - dwParam1 : DWORD; // TAPI v2.0 - dwParam2 : DWORD; // TAPI v2.0 - dwParam3 : DWORD; // TAPI v2.0 - end; - TLINEMESSAGE = linemessage_tag; - LPLINEMESSAGE = ^linemessage_tag; - - linemonitortone_tag = record - dwAppSpecific : DWORD; - dwDuration : DWORD; - dwFrequency1 : DWORD; - dwFrequency2 : DWORD; - dwFrequency3 : DWORD; - end; - TLINEMONITORTONE = linemonitortone_tag; - LPLINEMONITORTONE = ^linemonitortone_tag; - - lineproviderentry_tag = record - dwPermanentProviderID : DWORD; // TAPI v1.4 - dwProviderFilenameSize : DWORD; // TAPI v1.4 - dwProviderFilenameOffset : DWORD; // TAPI v1.4 - end; - TLINEPROVIDERENTRY = lineproviderentry_tag; - LPLINEPROVIDERENTRY = ^lineproviderentry_tag; - - lineproviderlist_tag = record - dwTotalSize : DWORD; // TAPI v1.4 - dwNeededSize : DWORD; // TAPI v1.4 - dwUsedSize : DWORD; // TAPI v1.4 - dwNumProviders : DWORD; // TAPI v1.4 - dwProviderListSize : DWORD; // TAPI v1.4 - dwProviderListOffset : DWORD; // TAPI v1.4 - end; - TLINEPROVIDERLIST = lineproviderlist_tag; - LPLINEPROVIDERLIST = ^lineproviderlist_tag; - - linetermcaps_tag = record - dwTermDev : DWORD; - dwTermModes : DWORD; - dwTermSharing : DWORD; - end; - TLINETERMCAPS = linetermcaps_tag; - LPLINETERMCAPS = ^linetermcaps_tag; - - linetranslatecaps_tag = record - dwTotalSize : DWORD; - dwNeededSize : DWORD; - dwUsedSize : DWORD; - dwNumLocations : DWORD; - dwLocationListSize : DWORD; - dwLocationListOffset : DWORD; - dwCurrentLocationID : DWORD; - dwNumCards : DWORD; - dwCardListSize : DWORD; - dwCardListOffset : DWORD; - dwCurrentPreferredCardID : DWORD; - end; - TLINETRANSLATECAPS = linetranslatecaps_tag; - LPLINETRANSLATECAPS = ^linetranslatecaps_tag; - - linetranslateoutput_tag = record - dwTotalSize : DWORD; - dwNeededSize : DWORD; - dwUsedSize : DWORD; - dwDialableStringSize : DWORD; - dwDialableStringOffset : DWORD; - dwDisplayableStringSize : DWORD; - dwDisplayableStringOffset : DWORD; - dwCurrentCountry : DWORD; - dwDestCountry : DWORD; - dwTranslateResults : DWORD; - end; - TLINETRANSLATEOUTPUT = linetranslateoutput_tag; - LPLINETRANSLATEOUTPUT = ^linetranslateoutput_tag; - - phonebuttoninfo_tag = record - dwTotalSize : DWORD; - dwNeededSize : DWORD; - dwUsedSize : DWORD; - dwButtonMode : DWORD; - dwButtonFunction : DWORD; - dwButtonTextSize : DWORD; - dwButtonTextOffset : DWORD; - dwDevSpecificSize : DWORD; - dwDevSpecificOffset : DWORD; - - dwButtonState : DWORD; // TAPI v1.4 - end; - TPHONEBUTTONINFO = phonebuttoninfo_tag; - LPPHONEBUTTONINFO = ^phonebuttoninfo_tag; - - phonecaps_tag = record - dwTotalSize : DWORD; - dwNeededSize : DWORD; - dwUsedSize : DWORD; - dwProviderInfoSize : DWORD; - dwProviderInfoOffset : DWORD; - dwPhoneInfoSize : DWORD; - dwPhoneInfoOffset : DWORD; - dwPermanentPhoneID : DWORD; - dwPhoneNameSize : DWORD; - dwPhoneNameOffset : DWORD; - dwStringFormat : DWORD; - dwPhoneStates : DWORD; - dwHookSwitchDevs : DWORD; - dwHandsetHookSwitchModes : DWORD; - dwSpeakerHookSwitchModes : DWORD; - dwHeadsetHookSwitchModes : DWORD; - dwVolumeFlags : DWORD; - dwGainFlags : DWORD; - dwDisplayNumRows : DWORD; - dwDisplayNumColumns : DWORD; - dwNumRingModes : DWORD; - dwNumButtonLamps : DWORD; - dwButtonModesSize : DWORD; - dwButtonModesOffset : DWORD; - dwButtonFunctionsSize : DWORD; - dwButtonFunctionsOffset : DWORD; - dwLampModesSize : DWORD; - dwLampModesOffset : DWORD; - dwNumSetData : DWORD; - dwSetDataSize : DWORD; - dwSetDataOffset : DWORD; - dwNumGetData : DWORD; - dwGetDataSize : DWORD; - dwGetDataOffset : DWORD; - dwDevSpecificSize : DWORD; - dwDevSpecificOffset : DWORD; - dwDeviceClassesSize : DWORD; // TAPI v2.0 - dwDeviceClassesOffset : DWORD; // TAPI v2.0 - dwPhoneFeatures : DWORD; // TAPI v2.0 - dwSettableHandsetHookSwitchModes : DWORD; // TAPI v2.0 - dwSettableSpeakerHookSwitchModes : DWORD; // TAPI v2.0 - dwSettableHeadsetHookSwitchModes : DWORD; // TAPI v2.0 - dwMonitoredHandsetHookSwitchModes : DWORD; // TAPI v2.0 - dwMonitoredSpeakerHookSwitchModes : DWORD; // TAPI v2.0 - dwMonitoredHeadsetHookSwitchModes : DWORD; // TAPI v2.0 - PermanentPhoneGuid : GUID; // TAPI v2.2 - end; - TPHONECAPS = phonecaps_tag; - LPPHONECAPS = ^phonecaps_tag; - - phoneextensionid_tag = record - dwExtensionID0 : DWORD; - dwExtensionID1 : DWORD; - dwExtensionID2 : DWORD; - dwExtensionID3 : DWORD; - end; - TPHONEEXTENSIONID = phoneextensionid_tag; - LPPHONEEXTENSIONID = ^phoneextensionid_tag; - - phoneinitializeexparams_tag = record - dwTotalSize : DWORD; // TAPI v2.0 - dwNeededSize : DWORD; // TAPI v2.0 - dwUsedSize : DWORD; // TAPI v2.0 - dwOptions : DWORD; // TAPI v2.0 - - Handles : record - case longint of - 0 : ( hEvent : HANDLE ); // TAPI v2.0 - 1 : ( hCompletionPort : HANDLE ); // TAPI v2.0 - end; - - dwCompletionKey : DWORD; // TAPI v2.0 - end; - TPHONEINITIALIZEEXPARAMS = phoneinitializeexparams_tag; - LPPHONEINITIALIZEEXPARAMS = ^phoneinitializeexparams_tag; - - phonemessage_tag = record - hDevice : DWORD; // TAPI v2.0 - dwMessageID : DWORD; // TAPI v2.0 - dwCallbackInstance : DWORD; // TAPI v2.0 - dwParam1 : DWORD; // TAPI v2.0 - dwParam2 : DWORD; // TAPI v2.0 - dwParam3 : DWORD; // TAPI v2.0 - end; - TPHONEMESSAGE = phonemessage_tag; - LPPHONEMESSAGE = ^phonemessage_tag; - - phonestatus_tag = record - dwTotalSize : DWORD; - dwNeededSize : DWORD; - dwUsedSize : DWORD; - dwStatusFlags : DWORD; - dwNumOwners : DWORD; - dwNumMonitors : DWORD; - dwRingMode : DWORD; - dwRingVolume : DWORD; - dwHandsetHookSwitchMode : DWORD; - dwHandsetVolume : DWORD; - dwHandsetGain : DWORD; - dwSpeakerHookSwitchMode : DWORD; - dwSpeakerVolume : DWORD; - dwSpeakerGain : DWORD; - dwHeadsetHookSwitchMode : DWORD; - dwHeadsetVolume : DWORD; - dwHeadsetGain : DWORD; - dwDisplaySize : DWORD; - dwDisplayOffset : DWORD; - dwLampModesSize : DWORD; - dwLampModesOffset : DWORD; - dwOwnerNameSize : DWORD; - dwOwnerNameOffset : DWORD; - dwDevSpecificSize : DWORD; - dwDevSpecificOffset : DWORD; - - dwPhoneFeatures : DWORD; // TAPI v2.0 - end; - TPHONESTATUS = phonestatus_tag; - LPPHONESTATUS = ^phonestatus_tag; - - varstring_tag = record - dwTotalSize : DWORD; - dwNeededSize : DWORD; - dwUsedSize : DWORD; - dwStringFormat : DWORD; - dwStringSize : DWORD; - dwStringOffset : DWORD; - end; - TVARSTRING = varstring_tag; - LPVARSTRING = ^varstring_tag; - -//***************************************************************************** -// functions -//***************************************************************************** - -function lineAccept(hCall:HCALL; lpsUserUserInfo:LPCSTR; dwSize:DWORD):LONG;external KernelDLL name 'lineAccept'; -function lineAddProvider(lpszProviderFilename:LPCWSTR; hwndOwner:HWND; - lpdwPermanentProviderID:LPDWORD):LONG;external KernelDLL name 'lineAddProvider'; -function lineAddToConference(hConfCall:HCALL; hConsultCall:HCALL):LONG;external KernelDLL name 'lineAddToConference'; -function lineAnswer(hCall:HCALL; lpsUserUserInfo:LPCSTR; dwSize:DWORD):LONG;external KernelDLL name 'lineAnswer'; -function lineBlindTransfer(hCall:HCALL; lpszDestAddressW:LPCWSTR; - dwCountryCode:DWORD):LONG;external KernelDLL name 'lineBlindTransfer'; -function lineClose(hLine:HLINE):LONG;external KernelDLL name 'lineClose'; -function lineCompleteTransfer(hCall:HCALL; hConsultCall:HCALL; lphConfCall:LPHCALL; - dwTransferMode:DWORD):LONG;external KernelDLL name 'lineCompleteTransfer'; -function lineConfigDialogEdit(dwDeviceID:DWORD; hwndOwner:HWND; lpszDeviceClass:LPCWSTR; lpDeviceConfigIn:LPVOID; - dwSize:DWORD; lpDeviceConfigOut:LPVARSTRING):LONG;external KernelDLL name 'lineConfigDialogEdit'; -function lineDeallocateCall(hCall:HCALL):LONG;external KernelDLL name 'lineDeallocateCall'; -function lineDevSpecific(hLine:HLINE; dwAddressID:DWORD; hCall:HCALL; lpParams:LPVOID; - dwSize:DWORD):LONG;external KernelDLL name 'lineDevSpecific'; -function lineDial(hCall:HCALL; lpszDestAddress:LPCWSTR; dwCountryCode:DWORD):LONG;external KernelDLL name 'lineDial'; -function lineDrop(hCall:HCALL; lpsUserUserInfo:LPCSTR; dwSize:DWORD):LONG;external KernelDLL name 'lineDrop'; -function lineForward(hLine:HLINE; bAllAddresses:DWORD; dwAddressID:DWORD; lpForwardList:LPLINEFORWARDLIST; - dwNumRingsNoAnswer:DWORD; lphConsultCall:LPHCALL; lpCallParams:LPLINECALLPARAMS):LONG;external KernelDLL name 'lineForward'; -function lineGenerateDigits(hCall:HCALL; dwDigitMode:DWORD; lpszDigits:LPCWSTR; dwDuration:DWORD):LONG; - external KernelDLL name 'lineGenerateDigits'; -function lineGenerateTone(hCall:HCALL; dwToneMode:DWORD; dwDuration:DWORD; dwNumTones:DWORD; lpTones:LPLINEGENERATETONE):LONG; - external KernelDLL name 'lineGenerateTone'; -function lineGetAddressCaps(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAddressID:DWORD; dwAPIVersion:DWORD; - dwExtVersion:DWORD; lpAddressCaps:LPLINEADDRESSCAPS):LONG;external KernelDLL name 'lineGetAddressCaps'; -function lineGetAddressID(hLine:HLINE; lpdwAddressID:LPDWORD; dwAddressMode:DWORD; lpsAddress:LPCWSTR; - dwSize:DWORD):LONG;external KernelDLL name 'lineGetAddressID'; -function tAddressStatus(hLine:HLINE; dwAddressID:DWORD; lpAddressStatus:LPLINEADDRESSSTATUS):LONG; - external KernelDLL name 'lineGetAddressStatus'; -function lineGetAppPriority(lpszAppFilename:LPCWSTR; dwMediaMode:DWORD; lpExtensionID:LPLINEEXTENSIONID; - dwRequestMode:DWORD; lpExtensionName:LPVARSTRING; lpdwPriority:LPDWORD):LONG;external KernelDLL name 'lineGetAppPriority'; { TAPI v1.4 } -function lineGetCallInfo(hCall:HCALL; lpCallInfo:LPLINECALLINFO):LONG;external KernelDLL name 'lineGetCallInfo'; -function lineGetCallStatus(hCall:HCALL; lpCallStatus:LPLINECALLSTATUS):LONG;external KernelDLL name 'lineGetCallStatus'; -function lineGetConfRelatedCalls(hCall:HCALL; lpCallList:LPLINECALLLIST):LONG;external KernelDLL name 'lineGetConfRelatedCalls'; -function lineGetDevCaps(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; dwExtVersion:DWORD; - lpLineDevCaps:LPLINEDEVCAPS):LONG;external KernelDLL name 'lineGetDevCaps'; -function lineGetDevConfig(dwDeviceID:DWORD; lpDeviceConfig:LPVARSTRING; lpszDeviceClass:LPCWSTR):LONG; - external KernelDLL name 'lineGetDevConfig'; -function lineGetNewCalls(hLine:HLINE; dwAddressID:DWORD; dwSelect:DWORD; lpCallList:LPLINECALLLIST):LONG; - external KernelDLL name 'lineGetNewCalls'; -function lineGetIcon(dwDeviceID:DWORD; lpszDeviceClass:LPCWSTR; lphIcon:LPHICON):LONG;external KernelDLL name 'lineGetIcon'; -function lineGetID(hLine:HLINE; dwAddressID:DWORD; hCall:HCALL; dwSelect:DWORD; lpDeviceID:LPVARSTRING; - lpszDeviceClass:LPCWSTR):LONG;external KernelDLL name 'lineGetID'; -function lineGetLineDevStatus(hLine:HLINE; lpLineDevStatus:LPLINEDEVSTATUS):LONG;external KernelDLL name 'lineGetLineDevStatus'; -function lineGetMessage(hLineApp:HLINEAPP; lpMessage:LPLINEMESSAGE; dwTimeout:DWORD):LONG;external KernelDLL name 'lineGetMessage'; -function lineGetNumRings(hLine:HLINE; dwAddressID:DWORD; lpdwNumRings:LPDWORD):LONG;external KernelDLL name 'lineGetNumRings'; -function lineGetProviderList(dwAPIVersion:DWORD; lpProviderList:LPLINEPROVIDERLIST):LONG; - external KernelDLL name 'lineGetProviderList'; { TAPI v1.4 } -function lineGetStatusMessages(hLine:HLINE; lpdwLineStates:LPDWORD; lpdwAddressStates:LPDWORD):LONG; - external KernelDLL name 'lineGetStatusMessages'; -function lineGetTranslateCaps(hLineApp:HLINEAPP; dwAPIVersion:DWORD; lpTranslateCaps:LPLINETRANSLATECAPS):LONG; - external KernelDLL name 'lineGetTranslateCaps'; -function lineHandoff(hCall:HCALL; lpszFileName:LPCWSTR; dwMediaMode:DWORD):LONG;external KernelDLL name 'lineHandoff'; -function lineHold(hCall:HCALL):LONG;external KernelDLL name 'lineHold'; -function lineInitialize(lphLineApp:LPHLINEAPP; hInstance:HINST; lpfnCallback:LINECALLBACK; lpszAppName:LPCWSTR; - lpdwNumDevs:LPDWORD):LONG;external KernelDLL name 'lineInitialize'; -function lineInitializeEx(lphLineApp:LPHLINEAPP; hInstance:HINST; lpfnCallback:LINECALLBACK; lpszFriendlyAppName:LPCWSTR; - lpdwNumDevs:LPDWORD; lpdwAPIVersion:LPDWORD; lpLineInitializeExParams:LPLINEINITIALIZEEXPARAMS):LONG; - external KernelDLL name 'lineInitializeEx'; -function lineMakeCall(hLine:HLINE; lphCall:LPHCALL; lpszDestAddress:LPCWSTR; dwCountryCode:DWORD; - lpCallParams:LPLINECALLPARAMS):LONG;external KernelDLL name 'lineMakeCall'; -function lineMonitorDigits(hCall:HCALL; dwDigitModes:DWORD):LONG;external KernelDLL name 'lineMonitorDigits'; -function lineMonitorMedia(hCall:HCALL; dwMediaModes:DWORD):LONG;external KernelDLL name 'lineMonitorMedia'; -function lineNegotiateAPIVersion(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAPILowVersion:DWORD; dwAPIHighVersion:DWORD; - lpdwAPIVersion:LPDWORD; lpExtensionID:LPLINEEXTENSIONID):LONG;external KernelDLL name 'lineNegotiateAPIVersion'; -function lineNegotiateExtVersion(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; dwExtLowVersion:DWORD; - dwExtHighVersion:DWORD; lpdwExtVersion:LPDWORD):LONG;external KernelDLL name 'lineNegotiateExtVersion'; -function lineOpen(hLineApp:HLINEAPP; dwDeviceID:DWORD; lphLine:LPHLINE; dwAPIVersion:DWORD; dwExtVersion:DWORD; - dwCallbackInstance:DWORD; dwPrivileges:DWORD; dwMediaModes:DWORD; lpCallParams:LPLINECALLPARAMS):LONG; - external KernelDLL name 'lineOpen'; -function linePickup(hLine:HLINE; dwAddressID:DWORD; lphCall:LPHCALL; lpszDestAddress:LPCWSTR; lpszGroupID:LPCWSTR):LONG; - external KernelDLL name 'linePickup'; -function linePrepareAddToConference(hConfCall:HCALL; lphConsultCall:LPHCALL; lpCallParams:LPLINECALLPARAMS):LONG; - external KernelDLL name 'linePrepareAddToConference'; -function lineRedirect(hCall:HCALL; lpszDestAddress:LPCWSTR; dwCountryCode:DWORD):LONG;external KernelDLL name 'lineRedirect'; -function lineReleaseUserUserInfo(hCall:HCALL):LONG;external KernelDLL name 'lineReleaseUserUserInfo'; { TAPI v1.4 } -function lineRemoveFromConference(hCall:HCALL):LONG;external KernelDLL name 'lineRemoveFromConference'; -function lineSendUserUserInfo(hCall:HCALL; lpsUserUserInfo:LPCSTR; dwSize:DWORD):LONG;external KernelDLL name 'lineSendUserUserInfo'; -function lineSetAppPriority(lpszAppFilename:LPCWSTR; dwMediaMode:DWORD; lpExtensionID:LPLINEEXTENSIONID; dwRequestMode:DWORD; - lpszExtensionName:LPCWSTR; dwPriority:DWORD):LONG;external KernelDLL name 'lineSetAppPriority'; { TAPI v1.4 } -function lineSetCallParams(hCall:HCALL; dwBearerMode:DWORD; dwMinRate:DWORD; dwMaxRate:DWORD; lpDialParams:LPLINEDIALPARAMS):LONG; - external KernelDLL name 'lineSetCallParams'; -function lineSetCallPrivilege(hCall:HCALL; dwCallPrivilege:DWORD):LONG;external KernelDLL name 'lineSetCallPrivilege'; -function lineSetCurrentLocation(hLineApp:HLINEAPP; dwLocation:DWORD):LONG;external KernelDLL name 'lineSetCurrentLocation'; -function lineSetDevConfig(dwDeviceID:DWORD; lpDeviceConfig:LPVOID; dwSize:DWORD; lpszDeviceClass:LPCWSTR):LONG; - external KernelDLL name 'lineSetDevConfig'; -function lineSetMediaMode(hCall:HCALL; dwMediaModes:DWORD):LONG;external KernelDLL name 'lineSetMediaMode'; -function lineSetNumRings(hLine:HLINE; dwAddressID:DWORD; dwNumRings:DWORD):LONG;external KernelDLL name 'lineSetNumRings'; -function lineSetStatusMessages(hLine:HLINE; dwLineStates:DWORD; dwAddressStates:DWORD):LONG; - external KernelDLL name 'lineSetStatusMessages'; -function lineSetTerminal(hLine:HLINE; dwAddressID:DWORD; hCall:HCALL; dwSelect:DWORD; dwTerminalModes:DWORD; - dwTerminalID:DWORD; bEnable:DWORD):LONG;external KernelDLL name 'lineSetTerminal'; -function lineSetTollList(hLineApp:HLINEAPP; dwDeviceID:DWORD; lpszAddressIn:LPCWSTR; dwTollListOption:DWORD):LONG; - external KernelDLL name 'lineSetTollList'; -function lineSetupConference(hCall:HCALL; hLine:HLINE; lphConfCall:LPHCALL; lphConsultCall:LPHCALL; dwNumParties:DWORD; - lpCallParams:LPLINECALLPARAMS):LONG;external KernelDLL name 'lineSetupConference'; -function lineSetupTransfer(hCall:HCALL; lphConsultCall:LPHCALL; lpCallParams:LPLINECALLPARAMS):LONG; - external KernelDLL name 'lineSetupTransfer'; -function lineShutdown(hLineApp:HLINEAPP):LONG;external KernelDLL name 'lineShutdown'; -function lineSwapHold(hActiveCall:HCALL; hHeldCall:HCALL):LONG;external KernelDLL name 'lineSwapHold'; -function lineTranslateAddress(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; lpszAddressIn:LPCWSTR; dwCard:DWORD; - dwTranslateOptions:DWORD; lpTranslateOutput:LPLINETRANSLATEOUTPUT):LONG;external KernelDLL name 'lineTranslateAddress'; -function lineTranslateDialog(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; hwndOwner:HWND; - lpszAddressIn:LPCWSTR):LONG;external KernelDLL name 'lineTranslateDialog'; { TAPI v1.4 } -function lineUnhold(hCall:HCALL):LONG;external KernelDLL name 'lineUnhold'; - -function phoneClose(hPhone:HPHONE):LONG;external KernelDLL name 'phoneClose'; -function phoneConfigDialog(dwDeviceID:DWORD; hwndOwner:HWND; lpszDeviceClass:LPCWSTR):LONG;external KernelDLL name 'phoneConfigDialog'; -function phoneDevSpecific(hPhone:HPHONE; lpParams:LPVOID; dwSize:DWORD):LONG;external KernelDLL name 'phoneDevSpecific'; -function phoneGetDevCaps(hPhoneApp:HPHONEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; dwExtVersion:DWORD; - lpPhoneCaps:LPPHONECAPS):LONG;external KernelDLL name 'phoneGetDevCaps'; -function phoneGetGain(hPhone:HPHONE; dwHookSwitchDev:DWORD; lpdwGain:LPDWORD):LONG;external KernelDLL name 'phoneGetGain'; -function phoneGetHookSwitch(hPhone:HPHONE; lpdwHookSwitchDevs:LPDWORD):LONG;external KernelDLL name 'phoneGetHookSwitch'; -function phoneGetIcon(dwDeviceID:DWORD; lpszDeviceClass:LPCWSTR; lphIcon:LPHICON):LONG;external KernelDLL name 'phoneGetIcon'; -function phoneGetID(hPhone:HPHONE; lpDeviceID:LPVARSTRING; lpszDeviceClass:LPCWSTR):LONG;external KernelDLL name 'phoneGetID'; -function phoneGetMessage(hPhoneApp:HPHONEAPP; lpMessage:LPPHONEMESSAGE; dwTimeout:DWORD):LONG;external KernelDLL name 'phoneGetMessage'; -function phoneGetRing(hPhone:HPHONE; lpdwRingMode:LPDWORD; lpdwVolume:LPDWORD):LONG;external KernelDLL name 'phoneGetRing'; -function phoneGetStatus(hPhone:HPHONE; lpPhoneStatus:LPPHONESTATUS):LONG;external KernelDLL name 'phoneGetStatus'; -function phoneGetStatusMessages(hPhone:HPHONE; lpdwPhoneStates:LPDWORD; lpdwButtonModes:LPDWORD; lpdwButtonStates:LPDWORD):LONG; - external KernelDLL name 'phoneGetStatusMessages'; -function phoneGetVolume(hPhone:HPHONE; dwHookSwitchDev:DWORD; lpdwVolume:LPDWORD):LONG;external KernelDLL name 'phoneGetVolume'; -function phoneInitializeEx(lphPhoneApp:LPHPHONEAPP; hInstance:HINST; lpfnCallback:PHONECALLBACK; lpszFriendlyAppName:LPCWSTR; - lpdwNumDevs:LPDWORD; lpdwAPIVersion:LPDWORD; lpPhoneInitializeExParams:LPPHONEINITIALIZEEXPARAMS):LONG; - external KernelDLL name 'phoneInitializeEx'; -function phoneNegotiateAPIVersion(hPhoneApp:HPHONEAPP; dwDeviceID:DWORD; dwAPILowVersion:DWORD; dwAPIHighVersion:DWORD; - lpdwAPIVersion:LPDWORD; lpExtensionID:LPPHONEEXTENSIONID):LONG;external KernelDLL name 'phoneNegotiateAPIVersion'; -function phoneNegotiateExtVersion(hPhoneApp:HPHONEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; dwExtLowVersion:DWORD; - dwExtHighVersion:DWORD; lpdwExtVersion:LPDWORD):LONG;external KernelDLL name 'phoneNegotiateExtVersion'; -function phoneOpen(hPhoneApp:HPHONEAPP; dwDeviceID:DWORD; lphPhone:LPHPHONE; dwAPIVersion:DWORD; dwExtVersion:DWORD; - dwCallbackInstance:DWORD; dwPrivilege:DWORD):LONG;external KernelDLL name 'phoneOpen'; -function phoneSetGain(hPhone:HPHONE; dwHookSwitchDev:DWORD; dwGain:DWORD):LONG;external KernelDLL name 'phoneSetGain'; -function phoneSetHookSwitch(hPhone:HPHONE; dwHookSwitchDevs:DWORD; dwHookSwitchMode:DWORD):LONG; - external KernelDLL name 'phoneSetHookSwitch'; -function phoneSetRing(hPhone:HPHONE; dwRingMode:DWORD; dwVolume:DWORD):LONG;external KernelDLL name 'phoneSetRing'; -function phoneSetStatusMessages(hPhone:HPHONE; dwPhoneStates:DWORD; dwButtonModes:DWORD; dwButtonStates:DWORD):LONG; - external KernelDLL name 'phoneSetStatusMessages'; -function phoneSetVolume(hPhone:HPHONE; dwHookSwitchDev:DWORD; dwVolume:DWORD):LONG;external KernelDLL name 'phoneSetVolume'; -function phoneShutdown(hPhoneApp:HPHONEAPP):LONG;external KernelDLL name 'phoneShutdown'; - -function TAPIERROR_FORMATMESSAGE(const AErrCode: Longword): Longword; // C Macros conversion, may be wrong - -{$endif read_interface} - -{$ifdef read_implementation} - -function TAPIERROR_FORMATMESSAGE(const AErrCode: Longword): Longword; -begin - if AErrCode>$FFFF0000 then Exit(AErrCode and $0000FFFF); - if (AErrCode and $10000000)<>0 then Exit(AErrCode-$90000000+$F000); - Exit(AErrCode-$80000000+$E000); -end; - -{$endif read_implementation} diff --git a/packages/winceunits/src/tapi.pp b/packages/winceunits/src/tapi.pp new file mode 100644 index 0000000000..223d1a7ae4 --- /dev/null +++ b/packages/winceunits/src/tapi.pp @@ -0,0 +1,1807 @@ +{ + This file is part of the Free Pascal run time library. + Copyright (c) 2007 Free Pascal development team. + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + +{ Declarations for tapi WinCE API, note than on WinCE tapi functions originally + based in coredll.dll +} + +{ this port based on Windows Mobile 5 Smartphone Edition SDK + contact S0vNark0m for more information snk_post@mail.ru (en, ru) +} + +{$ifdef read_interface} + +//***************************************************************************** +// consts +//***************************************************************************** + +const + + TAPI_CURRENT_VERSION = $00020000; + + { Messages for Phones and Lines } + + LINE_ADDRESSSTATE = 0; + LINE_CALLINFO = 1; + LINE_CALLSTATE = 2; + LINE_CLOSE = 3; + LINE_DEVSPECIFIC = 4; + LINE_DEVSPECIFICFEATURE = 5; + LINE_GATHERDIGITS = 6; + LINE_GENERATE = 7; + LINE_LINEDEVSTATE = 8; + LINE_MONITORDIGITS = 9; + LINE_MONITORMEDIA = 10; + LINE_MONITORTONE = 11; + LINE_REPLY = 12; + LINE_REQUEST = 13; + PHONE_BUTTON = 14; + PHONE_CLOSE = 15; + PHONE_DEVSPECIFIC = 16; + PHONE_REPLY = 17; + PHONE_STATE = 18; + LINE_CREATE = 19; { TAPI v1.4 } + PHONE_CREATE = 20; { TAPI v1.4 } + + LINE_AGENTSPECIFIC = 21; { TAPI v2.0 } + LINE_AGENTSTATUS = 22; { TAPI v2.0 } + LINE_APPNEWCALL = 23; { TAPI v2.0 } + LINE_PROXYREQUEST = 24; { TAPI v2.0 } + LINE_REMOVE = 25; { TAPI v2.0 } + PHONE_REMOVE = 26; { TAPI v2.0 } + + INITIALIZE_NEGOTIATION = $FFFFFFFF; + + LINEADDRCAPFLAGS_FWDNUMRINGS = $00000001; + LINEADDRCAPFLAGS_PICKUPGROUPID = $00000002; + LINEADDRCAPFLAGS_SECURE = $00000004; + LINEADDRCAPFLAGS_BLOCKIDDEFAULT = $00000008; + LINEADDRCAPFLAGS_BLOCKIDOVERRIDE = $00000010; + LINEADDRCAPFLAGS_DIALED = $00000020; + LINEADDRCAPFLAGS_ORIGOFFHOOK = $00000040; + LINEADDRCAPFLAGS_DESTOFFHOOK = $00000080; + LINEADDRCAPFLAGS_FWDCONSULT = $00000100; + LINEADDRCAPFLAGS_SETUPCONFNULL = $00000200; + LINEADDRCAPFLAGS_AUTORECONNECT = $00000400; + LINEADDRCAPFLAGS_COMPLETIONID = $00000800; + LINEADDRCAPFLAGS_TRANSFERHELD = $00001000; + LINEADDRCAPFLAGS_TRANSFERMAKE = $00002000; + LINEADDRCAPFLAGS_CONFERENCEHELD = $00004000; + LINEADDRCAPFLAGS_CONFERENCEMAKE = $00008000; + LINEADDRCAPFLAGS_PARTIALDIAL = $00010000; + LINEADDRCAPFLAGS_FWDSTATUSVALID = $00020000; + LINEADDRCAPFLAGS_FWDINTEXTADDR = $00040000; + LINEADDRCAPFLAGS_FWDBUSYNAADDR = $00080000; + LINEADDRCAPFLAGS_ACCEPTTOALERT = $00100000; + LINEADDRCAPFLAGS_CONFDROP = $00200000; + LINEADDRCAPFLAGS_PICKUPCALLWAIT = $00400000; + LINEADDRCAPFLAGS_PREDICTIVEDIALER = $00800000; { TAPI v2.0 } + LINEADDRCAPFLAGS_QUEUE = $01000000; { TAPI v2.0 } + LINEADDRCAPFLAGS_ROUTEPOINT = $02000000; { TAPI v2.0 } + LINEADDRCAPFLAGS_HOLDMAKESNEW = $04000000; { TAPI v2.0 } + LINEADDRCAPFLAGS_NOINTERNALCALLS = $08000000; { TAPI v2.0 } + LINEADDRCAPFLAGS_NOEXTERNALCALLS = $10000000; { TAPI v2.0 } + LINEADDRCAPFLAGS_SETCALLINGID = $20000000; { TAPI v2.0 } + + LINEADDRESSMODE_ADDRESSID = $00000001; + LINEADDRESSMODE_DIALABLEADDR = $00000002; + + LINEADDRESSSHARING_PRIVATE = $00000001; + LINEADDRESSSHARING_BRIDGEDEXCL = $00000002; + LINEADDRESSSHARING_BRIDGEDNEW = $00000004; + LINEADDRESSSHARING_BRIDGEDSHARED = $00000008; + LINEADDRESSSHARING_MONITORED = $00000010; + + LINEADDRESSSTATE_OTHER = $00000001; + LINEADDRESSSTATE_DEVSPECIFIC = $00000002; + LINEADDRESSSTATE_INUSEZERO = $00000004; + LINEADDRESSSTATE_INUSEONE = $00000008; + LINEADDRESSSTATE_INUSEMANY = $00000010; + LINEADDRESSSTATE_NUMCALLS = $00000020; + LINEADDRESSSTATE_FORWARD = $00000040; + LINEADDRESSSTATE_TERMINALS = $00000080; + LINEADDRESSSTATE_CAPSCHANGE = $00000100; { TAPI v1.4 } + + LINEADDRESSTYPE_PHONENUMBER = $00000001; + LINEADDRESSTYPE_SDP = $00000002; + LINEADDRESSTYPE_EMAILNAME = $00000004; + LINEADDRESSTYPE_DOMAINNAME = $00000008; + LINEADDRESSTYPE_IPADDRESS = $00000010; + + LINEADDRFEATURE_FORWARD = $00000001; + LINEADDRFEATURE_MAKECALL = $00000002; + LINEADDRFEATURE_PICKUP = $00000004; + LINEADDRFEATURE_SETMEDIACONTROL = $00000008; + LINEADDRFEATURE_SETTERMINAL = $00000010; + LINEADDRFEATURE_SETUPCONF = $00000020; + LINEADDRFEATURE_UNCOMPLETECALL = $00000040; + LINEADDRFEATURE_UNPARK = $00000080; + LINEADDRFEATURE_PICKUPHELD = $00000100; { TAPI v2.0 } + LINEADDRFEATURE_PICKUPGROUP = $00000200; { TAPI v2.0 } + LINEADDRFEATURE_PICKUPDIRECT = $00000400; { TAPI v2.0 } + LINEADDRFEATURE_PICKUPWAITING = $00000800; { TAPI v2.0 } + LINEADDRFEATURE_FORWARDFWD = $00001000; { TAPI v2.0 } + LINEADDRFEATURE_FORWARDDND = $00002000; { TAPI v2.0 } + + LINEAGENTFEATURE_SETAGENTGROUP = $00000001; { TAPI v2.0 } + LINEAGENTFEATURE_SETAGENTSTATE = $00000002; { TAPI v2.0 } + LINEAGENTFEATURE_SETAGENTACTIVITY = $00000004; { TAPI v2.0 } + LINEAGENTFEATURE_AGENTSPECIFIC = $00000008; { TAPI v2.0 } + LINEAGENTFEATURE_GETAGENTACTIVITYLIST = $00000010; { TAPI v2.0 } + LINEAGENTFEATURE_GETAGENTGROUP = $00000020; { TAPI v2.0 } + + LINEAGENTSTATE_LOGGEDOFF = $00000001; { TAPI v2.0 } + LINEAGENTSTATE_NOTREADY = $00000002; { TAPI v2.0 } + LINEAGENTSTATE_READY = $00000004; { TAPI v2.0 } + LINEAGENTSTATE_BUSYACD = $00000008; { TAPI v2.0 } + LINEAGENTSTATE_BUSYINCOMING = $00000010; { TAPI v2.0 } + LINEAGENTSTATE_BUSYOUTBOUND = $00000020; { TAPI v2.0 } + LINEAGENTSTATE_BUSYOTHER = $00000040; { TAPI v2.0 } + LINEAGENTSTATE_WORKINGAFTERCALL = $00000080; { TAPI v2.0 } + LINEAGENTSTATE_UNKNOWN = $00000100; { TAPI v2.0 } + LINEAGENTSTATE_UNAVAIL = $00000200; { TAPI v2.0 } + + LINEAGENTSTATUS_GROUP = $00000001; { TAPI v2.0 } + LINEAGENTSTATUS_STATE = $00000002; { TAPI v2.0 } + LINEAGENTSTATUS_NEXTSTATE = $00000004; { TAPI v2.0 } + LINEAGENTSTATUS_ACTIVITY = $00000008; { TAPI v2.0 } + LINEAGENTSTATUS_ACTIVITYLIST = $00000010; { TAPI v2.0 } + LINEAGENTSTATUS_GROUPLIST = $00000020; { TAPI v2.0 } + LINEAGENTSTATUS_CAPSCHANGE = $00000040; { TAPI v2.0 } + LINEAGENTSTATUS_VALIDSTATES = $00000080; { TAPI v2.0 } + LINEAGENTSTATUS_VALIDNEXTSTATES = $00000100; { TAPI v2.0 } + + LINEANSWERMODE_NONE = $00000001; + LINEANSWERMODE_DROP = $00000002; + LINEANSWERMODE_HOLD = $00000004; + LINEBEARERMODE_VOICE = $00000001; + LINEBEARERMODE_SPEECH = $00000002; + LINEBEARERMODE_MULTIUSE = $00000004; + LINEBEARERMODE_DATA = $00000008; + LINEBEARERMODE_ALTSPEECHDATA = $00000010; + LINEBEARERMODE_NONCALLSIGNALING = $00000020; + LINEBEARERMODE_PASSTHROUGH = $00000040; { TAPI v1.4 } + LINEBEARERMODE_RESTRICTEDDATA = $00000080; { TAPI v2.0 } + + LINEBUSYMODE_STATION = $00000001; + LINEBUSYMODE_TRUNK = $00000002; + LINEBUSYMODE_UNKNOWN = $00000004; + LINEBUSYMODE_UNAVAIL = $00000008; + + LINECALLCOMPLCOND_BUSY = $00000001; + LINECALLCOMPLCOND_NOANSWER = $00000002; + + LINECALLCOMPLMODE_CAMPON = $00000001; + LINECALLCOMPLMODE_CALLBACK = $00000002; + LINECALLCOMPLMODE_INTRUDE = $00000004; + LINECALLCOMPLMODE_MESSAGE = $00000008; + + LINECALLFEATURE_ACCEPT = $00000001; + LINECALLFEATURE_ADDTOCONF = $00000002; + LINECALLFEATURE_ANSWER = $00000004; + LINECALLFEATURE_BLINDTRANSFER = $00000008; + LINECALLFEATURE_COMPLETECALL = $00000010; + LINECALLFEATURE_COMPLETETRANSF = $00000020; + LINECALLFEATURE_DIAL = $00000040; + LINECALLFEATURE_DROP = $00000080; + LINECALLFEATURE_GATHERDIGITS = $00000100; + LINECALLFEATURE_GENERATEDIGITS = $00000200; + LINECALLFEATURE_GENERATETONE = $00000400; + LINECALLFEATURE_HOLD = $00000800; + LINECALLFEATURE_MONITORDIGITS = $00001000; + LINECALLFEATURE_MONITORMEDIA = $00002000; + LINECALLFEATURE_MONITORTONES = $00004000; + LINECALLFEATURE_PARK = $00008000; + LINECALLFEATURE_PREPAREADDCONF = $00010000; + LINECALLFEATURE_REDIRECT = $00020000; + LINECALLFEATURE_REMOVEFROMCONF = $00040000; + LINECALLFEATURE_SECURECALL = $00080000; + LINECALLFEATURE_SENDUSERUSER = $00100000; + LINECALLFEATURE_SETCALLPARAMS = $00200000; + LINECALLFEATURE_SETMEDIACONTROL = $00400000; + LINECALLFEATURE_SETTERMINAL = $00800000; + LINECALLFEATURE_SETUPCONF = $01000000; + LINECALLFEATURE_SETUPTRANSFER = $02000000; + LINECALLFEATURE_SWAPHOLD = $04000000; + LINECALLFEATURE_UNHOLD = $08000000; + LINECALLFEATURE_RELEASEUSERUSERINFO = $10000000; { TAPI v1.4 } + LINECALLFEATURE_SETTREATMENT = $20000000; { TAPI v2.0 } + LINECALLFEATURE_SETQOS = $40000000; { TAPI v2.0 } + LINECALLFEATURE_SETCALLDATA = $80000000; { TAPI v2.0 } + + LINECALLFEATURE2_NOHOLDCONFERENCE = $00000001; { TAPI v2.0 } + LINECALLFEATURE2_ONESTEPTRANSFER = $00000002; { TAPI v2.0 } + LINECALLFEATURE2_COMPLCAMPON = $00000004; { TAPI v2.0 } + LINECALLFEATURE2_COMPLCALLBACK = $00000008; { TAPI v2.0 } + LINECALLFEATURE2_COMPLINTRUDE = $00000010; { TAPI v2.0 } + LINECALLFEATURE2_COMPLMESSAGE = $00000020; { TAPI v2.0 } + LINECALLFEATURE2_TRANSFERNORM = $00000040; { TAPI v2.0 } + LINECALLFEATURE2_TRANSFERCONF = $00000080; { TAPI v2.0 } + LINECALLFEATURE2_PARKDIRECT = $00000100; { TAPI v2.0 } + LINECALLFEATURE2_PARKNONDIRECT = $00000200; { TAPI v2.0 } + + LINECALLINFOSTATE_OTHER = $00000001; + LINECALLINFOSTATE_DEVSPECIFIC = $00000002; + LINECALLINFOSTATE_BEARERMODE = $00000004; + LINECALLINFOSTATE_RATE = $00000008; + LINECALLINFOSTATE_MEDIAMODE = $00000010; + LINECALLINFOSTATE_APPSPECIFIC = $00000020; + LINECALLINFOSTATE_CALLID = $00000040; + LINECALLINFOSTATE_RELATEDCALLID = $00000080; + LINECALLINFOSTATE_ORIGIN = $00000100; + LINECALLINFOSTATE_REASON = $00000200; + LINECALLINFOSTATE_COMPLETIONID = $00000400; + LINECALLINFOSTATE_NUMOWNERINCR = $00000800; + LINECALLINFOSTATE_NUMOWNERDECR = $00001000; + LINECALLINFOSTATE_NUMMONITORS = $00002000; + LINECALLINFOSTATE_TRUNK = $00004000; + LINECALLINFOSTATE_CALLERID = $00008000; + LINECALLINFOSTATE_CALLEDID = $00010000; + LINECALLINFOSTATE_CONNECTEDID = $00020000; + LINECALLINFOSTATE_REDIRECTIONID = $00040000; + LINECALLINFOSTATE_REDIRECTINGID = $00080000; + LINECALLINFOSTATE_DISPLAY = $00100000; + LINECALLINFOSTATE_USERUSERINFO = $00200000; + LINECALLINFOSTATE_HIGHLEVELCOMP = $00400000; + LINECALLINFOSTATE_LOWLEVELCOMP = $00800000; + LINECALLINFOSTATE_CHARGINGINFO = $01000000; + LINECALLINFOSTATE_TERMINAL = $02000000; + LINECALLINFOSTATE_DIALPARAMS = $04000000; + LINECALLINFOSTATE_MONITORMODES = $08000000; + LINECALLINFOSTATE_TREATMENT = $10000000; { TAPI v2.0 } + LINECALLINFOSTATE_QOS = $20000000; { TAPI v2.0 } + LINECALLINFOSTATE_CALLDATA = $40000000; { TAPI v2.0 } + + LINECALLORIGIN_OUTBOUND = $00000001; + LINECALLORIGIN_INTERNAL = $00000002; + LINECALLORIGIN_EXTERNAL = $00000004; + LINECALLORIGIN_UNKNOWN = $00000010; + LINECALLORIGIN_UNAVAIL = $00000020; + LINECALLORIGIN_CONFERENCE = $00000040; + LINECALLORIGIN_INBOUND = $00000080; { TAPI v1.4 } + + LINECALLPARAMFLAGS_SECURE = $00000001; + LINECALLPARAMFLAGS_IDLE = $00000002; + LINECALLPARAMFLAGS_BLOCKID = $00000004; + LINECALLPARAMFLAGS_ORIGOFFHOOK = $00000008; + LINECALLPARAMFLAGS_DESTOFFHOOK = $00000010; + LINECALLPARAMFLAGS_NOHOLDCONFERENCE = $00000020; { TAPI v2.0 } + LINECALLPARAMFLAGS_PREDICTIVEDIAL = $00000040; { TAPI v2.0 } + LINECALLPARAMFLAGS_ONESTEPTRANSFER = $00000080; { TAPI v2.0 } + + LINECALLPARTYID_BLOCKED = $00000001; + LINECALLPARTYID_OUTOFAREA = $00000002; + LINECALLPARTYID_NAME = $00000004; + LINECALLPARTYID_ADDRESS = $00000008; + LINECALLPARTYID_PARTIAL = $00000010; + LINECALLPARTYID_UNKNOWN = $00000020; + LINECALLPARTYID_UNAVAIL = $00000040; + + LINECALLPRIVILEGE_NONE = $00000001; + LINECALLPRIVILEGE_MONITOR = $00000002; + LINECALLPRIVILEGE_OWNER = $00000004; + + LINECALLREASON_DIRECT = $00000001; + LINECALLREASON_FWDBUSY = $00000002; + LINECALLREASON_FWDNOANSWER = $00000004; + LINECALLREASON_FWDUNCOND = $00000008; + LINECALLREASON_PICKUP = $00000010; + LINECALLREASON_UNPARK = $00000020; + LINECALLREASON_REDIRECT = $00000040; + LINECALLREASON_CALLCOMPLETION = $00000080; + LINECALLREASON_TRANSFER = $00000100; + LINECALLREASON_REMINDER = $00000200; + LINECALLREASON_UNKNOWN = $00000400; + LINECALLREASON_UNAVAIL = $00000800; + LINECALLREASON_INTRUDE = $00001000; { TAPI v1.4 } + LINECALLREASON_PARKED = $00002000; { TAPI v1.4 } + LINECALLREASON_CAMPEDON = $00004000; { TAPI v2.0 } + LINECALLREASON_ROUTEREQUEST = $00008000; { TAPI v2.0 } + + LINECALLSELECT_LINE = $00000001; + LINECALLSELECT_ADDRESS = $00000002; + LINECALLSELECT_CALL = $00000004; + LINECALLSELECT_DEVICEID = $00000008; { TAPI v2.1 } + LINECALLSELECT_CALLID = $00000010; { TAPI v3.0 } + + LINECALLSTATE_IDLE = $00000001; + LINECALLSTATE_OFFERING = $00000002; + LINECALLSTATE_ACCEPTED = $00000004; + LINECALLSTATE_DIALTONE = $00000008; + LINECALLSTATE_DIALING = $00000010; + LINECALLSTATE_RINGBACK = $00000020; + LINECALLSTATE_BUSY = $00000040; + LINECALLSTATE_SPECIALINFO = $00000080; + LINECALLSTATE_CONNECTED = $00000100; + LINECALLSTATE_PROCEEDING = $00000200; + LINECALLSTATE_ONHOLD = $00000400; + LINECALLSTATE_CONFERENCED = $00000800; + LINECALLSTATE_ONHOLDPENDCONF = $00001000; + LINECALLSTATE_ONHOLDPENDTRANSFER = $00002000; + LINECALLSTATE_DISCONNECTED = $00004000; + LINECALLSTATE_UNKNOWN = $00008000; + + LINECALLTREATMENT_SILENCE = $00000001; { TAPI v2.0 } + LINECALLTREATMENT_RINGBACK = $00000002; { TAPI v2.0 } + LINECALLTREATMENT_BUSY = $00000003; { TAPI v2.0 } + LINECALLTREATMENT_MUSIC = $00000004; { TAPI v2.0 } + + LINECARDOPTION_PREDEFINED = $00000001; { TAPI v1.4 } + LINECARDOPTION_HIDDEN = $00000002; { TAPI v1.4 } + + LINECONNECTEDMODE_ACTIVE = $00000001; { TAPI v1.4 } + LINECONNECTEDMODE_INACTIVE = $00000002; { TAPI v1.4 } + LINECONNECTEDMODE_ACTIVEHELD = $00000004; { TAPI v2.0 } + LINECONNECTEDMODE_INACTIVEHELD = $00000008; { TAPI v2.0 } + LINECONNECTEDMODE_CONFIRMED = $00000010; { TAPI v2.0 } + + LINEDEVCAPFLAGS_CROSSADDRCONF = $00000001; + LINEDEVCAPFLAGS_HIGHLEVCOMP = $00000002; + LINEDEVCAPFLAGS_LOWLEVCOMP = $00000004; + LINEDEVCAPFLAGS_MEDIACONTROL = $00000008; + LINEDEVCAPFLAGS_MULTIPLEADDR = $00000010; + LINEDEVCAPFLAGS_CLOSEDROP = $00000020; + LINEDEVCAPFLAGS_DIALBILLING = $00000040; + LINEDEVCAPFLAGS_DIALQUIET = $00000080; + LINEDEVCAPFLAGS_DIALDIALTONE = $00000100; + LINEDEVCAPFLAGS_MSP = $00000200; { TAPI v3.0 } + LINEDEVCAPFLAGS_CALLHUB = $00000400; { TAPI v3.0 } + LINEDEVCAPFLAGS_CALLHUBTRACKING = $00000800; { TAPI v3.0 } + LINEDEVCAPFLAGS_PRIVATEOBJECTS = $00001000; { TAPI v3.0 } + + LINEDEVSTATE_OTHER = $00000001; + LINEDEVSTATE_RINGING = $00000002; + LINEDEVSTATE_CONNECTED = $00000004; + LINEDEVSTATE_DISCONNECTED = $00000008; + LINEDEVSTATE_MSGWAITON = $00000010; + LINEDEVSTATE_MSGWAITOFF = $00000020; + LINEDEVSTATE_INSERVICE = $00000040; + LINEDEVSTATE_OUTOFSERVICE = $00000080; + LINEDEVSTATE_MAINTENANCE = $00000100; + LINEDEVSTATE_OPEN = $00000200; + LINEDEVSTATE_CLOSE = $00000400; + LINEDEVSTATE_NUMCALLS = $00000800; + LINEDEVSTATE_NUMCOMPLETIONS = $00001000; + LINEDEVSTATE_TERMINALS = $00002000; + LINEDEVSTATE_ROAMMODE = $00004000; + LINEDEVSTATE_BATTERY = $00008000; + LINEDEVSTATE_SIGNAL = $00010000; + LINEDEVSTATE_DEVSPECIFIC = $00020000; + LINEDEVSTATE_REINIT = $00040000; + LINEDEVSTATE_LOCK = $00080000; + LINEDEVSTATE_CAPSCHANGE = $00100000; { TAPI v1.4 } + LINEDEVSTATE_CONFIGCHANGE = $00200000; { TAPI v1.4 } + LINEDEVSTATE_TRANSLATECHANGE = $00400000; { TAPI v1.4 } + LINEDEVSTATE_COMPLCANCEL = $00800000; { TAPI v1.4 } + LINEDEVSTATE_REMOVED = $01000000; { TAPI v1.4 } + + LINEDEVSTATUSFLAGS_CONNECTED = $00000001; + LINEDEVSTATUSFLAGS_MSGWAIT = $00000002; + LINEDEVSTATUSFLAGS_INSERVICE = $00000004; + LINEDEVSTATUSFLAGS_LOCKED = $00000008; + + LINEDIALTONEMODE_NORMAL = $00000001; + LINEDIALTONEMODE_SPECIAL = $00000002; + LINEDIALTONEMODE_INTERNAL = $00000004; + LINEDIALTONEMODE_EXTERNAL = $00000008; + LINEDIALTONEMODE_UNKNOWN = $00000010; + LINEDIALTONEMODE_UNAVAIL = $00000020; + + LINEDIGITMODE_PULSE = $00000001; + LINEDIGITMODE_DTMF = $00000002; + LINEDIGITMODE_DTMFEND = $00000004; + + LINEDISCONNECTMODE_NORMAL = $00000001; + LINEDISCONNECTMODE_UNKNOWN = $00000002; + LINEDISCONNECTMODE_REJECT = $00000004; + LINEDISCONNECTMODE_PICKUP = $00000008; + LINEDISCONNECTMODE_FORWARDED = $00000010; + LINEDISCONNECTMODE_BUSY = $00000020; + LINEDISCONNECTMODE_NOANSWER = $00000040; + LINEDISCONNECTMODE_BADADDRESS = $00000080; + LINEDISCONNECTMODE_UNREACHABLE = $00000100; + LINEDISCONNECTMODE_CONGESTION = $00000200; + LINEDISCONNECTMODE_INCOMPATIBLE = $00000400; + LINEDISCONNECTMODE_UNAVAIL = $00000800; + LINEDISCONNECTMODE_NODIALTONE = $00001000; { TAPI v1.4 } + LINEDISCONNECTMODE_NUMBERCHANGED = $00002000; { TAPI v2.0 } + LINEDISCONNECTMODE_OUTOFORDER = $00004000; { TAPI v2.0 } + LINEDISCONNECTMODE_TEMPFAILURE = $00008000; { TAPI v2.0 } + LINEDISCONNECTMODE_QOSUNAVAIL = $00010000; { TAPI v2.0 } + LINEDISCONNECTMODE_BLOCKED = $00020000; { TAPI v2.0 } + LINEDISCONNECTMODE_DONOTDISTURB = $00040000; { TAPI v2.0 } + LINEDISCONNECTMODE_CANCELLED = $00080000; { TAPI v2.0 } + + LINEERR_ALLOCATED = $80000001; + LINEERR_BADDEVICEID = $80000002; + LINEERR_BEARERMODEUNAVAIL = $80000003; + LINEERR_CALLUNAVAIL = $80000005; + LINEERR_COMPLETIONOVERRUN = $80000006; + LINEERR_CONFERENCEFULL = $80000007; + LINEERR_DIALBILLING = $80000008; + LINEERR_DIALDIALTONE = $80000009; + LINEERR_DIALPROMPT = $8000000A; + LINEERR_DIALQUIET = $8000000B; + LINEERR_INCOMPATIBLEAPIVERSION = $8000000C; + LINEERR_INCOMPATIBLEEXTVERSION = $8000000D; + LINEERR_INIFILECORRUPT = $8000000E; + LINEERR_INUSE = $8000000F; + LINEERR_INVALADDRESS = $80000010; + LINEERR_INVALADDRESSID = $80000011; + LINEERR_INVALADDRESSMODE = $80000012; + LINEERR_INVALADDRESSSTATE = $80000013; + LINEERR_INVALAPPHANDLE = $80000014; + LINEERR_INVALAPPNAME = $80000015; + LINEERR_INVALBEARERMODE = $80000016; + LINEERR_INVALCALLCOMPLMODE = $80000017; + LINEERR_INVALCALLHANDLE = $80000018; + LINEERR_INVALCALLPARAMS = $80000019; + LINEERR_INVALCALLPRIVILEGE = $8000001A; + LINEERR_INVALCALLSELECT = $8000001B; + LINEERR_INVALCALLSTATE = $8000001C; + LINEERR_INVALCALLSTATELIST = $8000001D; + LINEERR_INVALCARD = $8000001E; + LINEERR_INVALCOMPLETIONID = $8000001F; + LINEERR_INVALCONFCALLHANDLE = $80000020; + LINEERR_INVALCONSULTCALLHANDLE = $80000021; + LINEERR_INVALCOUNTRYCODE = $80000022; + LINEERR_INVALDEVICECLASS = $80000023; + LINEERR_INVALDEVICEHANDLE = $80000024; + LINEERR_INVALDIALPARAMS = $80000025; + LINEERR_INVALDIGITLIST = $80000026; + LINEERR_INVALDIGITMODE = $80000027; + LINEERR_INVALDIGITS = $80000028; + LINEERR_INVALEXTVERSION = $80000029; + LINEERR_INVALGROUPID = $8000002A; + LINEERR_INVALLINEHANDLE = $8000002B; + LINEERR_INVALLINESTATE = $8000002C; + LINEERR_INVALLOCATION = $8000002D; + LINEERR_INVALMEDIALIST = $8000002E; + LINEERR_INVALMEDIAMODE = $8000002F; + LINEERR_INVALMESSAGEID = $80000030; + LINEERR_INVALPARAM = $80000032; + LINEERR_INVALPARKID = $80000033; + LINEERR_INVALPARKMODE = $80000034; + LINEERR_INVALPOINTER = $80000035; + LINEERR_INVALPRIVSELECT = $80000036; + LINEERR_INVALRATE = $80000037; + LINEERR_INVALREQUESTMODE = $80000038; + LINEERR_INVALTERMINALID = $80000039; + LINEERR_INVALTERMINALMODE = $8000003A; + LINEERR_INVALTIMEOUT = $8000003B; + LINEERR_INVALTONE = $8000003C; + LINEERR_INVALTONELIST = $8000003D; + LINEERR_INVALTONEMODE = $8000003E; + LINEERR_INVALTRANSFERMODE = $8000003F; + LINEERR_LINEMAPPERFAILED = $80000040; + LINEERR_NOCONFERENCE = $80000041; + LINEERR_NODEVICE = $80000042; + LINEERR_NODRIVER = $80000043; + LINEERR_NOMEM = $80000044; + LINEERR_NOREQUEST = $80000045; + LINEERR_NOTOWNER = $80000046; + LINEERR_NOTREGISTERED = $80000047; + LINEERR_OPERATIONFAILED = $80000048; + LINEERR_OPERATIONUNAVAIL = $80000049; + LINEERR_RATEUNAVAIL = $8000004A; + LINEERR_RESOURCEUNAVAIL = $8000004B; + LINEERR_REQUESTOVERRUN = $8000004C; + LINEERR_STRUCTURETOOSMALL = $8000004D; + LINEERR_TARGETNOTFOUND = $8000004E; + LINEERR_TARGETSELF = $8000004F; + LINEERR_UNINITIALIZED = $80000050; + LINEERR_USERUSERINFOTOOBIG = $80000051; + LINEERR_REINIT = $80000052; + LINEERR_ADDRESSBLOCKED = $80000053; + LINEERR_BILLINGREJECTED = $80000054; + LINEERR_INVALFEATURE = $80000055; + LINEERR_NOMULTIPLEINSTANCE = $80000056; + LINEERR_INVALAGENTID = $80000057; { TAPI v2.0 } + LINEERR_INVALAGENTGROUP = $80000058; { TAPI v2.0 } + LINEERR_INVALPASSWORD = $80000059; { TAPI v2.0 } + LINEERR_INVALAGENTSTATE = $8000005A; { TAPI v2.0 } + LINEERR_INVALAGENTACTIVITY = $8000005B; { TAPI v2.0 } + LINEERR_DIALVOICEDETECT = $8000005C; { TAPI v2.0 } + + LINEFEATURE_DEVSPECIFIC = $00000001; + LINEFEATURE_DEVSPECIFICFEAT = $00000002; + LINEFEATURE_FORWARD = $00000004; + LINEFEATURE_MAKECALL = $00000008; + LINEFEATURE_SETMEDIACONTROL = $00000010; + LINEFEATURE_SETTERMINAL = $00000020; + LINEFEATURE_SETDEVSTATUS = $00000040; { TAPI v2.0 } + LINEFEATURE_FORWARDFWD = $00000080; { TAPI v2.0 } + LINEFEATURE_FORWARDDND = $00000100; { TAPI v2.0 } + + LINEFORWARDMODE_UNCOND = $00000001; + LINEFORWARDMODE_UNCONDINTERNAL = $00000002; + LINEFORWARDMODE_UNCONDEXTERNAL = $00000004; + LINEFORWARDMODE_UNCONDSPECIFIC = $00000008; + LINEFORWARDMODE_BUSY = $00000010; + LINEFORWARDMODE_BUSYINTERNAL = $00000020; + LINEFORWARDMODE_BUSYEXTERNAL = $00000040; + LINEFORWARDMODE_BUSYSPECIFIC = $00000080; + LINEFORWARDMODE_NOANSW = $00000100; + LINEFORWARDMODE_NOANSWINTERNAL = $00000200; + LINEFORWARDMODE_NOANSWEXTERNAL = $00000400; + LINEFORWARDMODE_NOANSWSPECIFIC = $00000800; + LINEFORWARDMODE_BUSYNA = $00001000; + LINEFORWARDMODE_BUSYNAINTERNAL = $00002000; + LINEFORWARDMODE_BUSYNAEXTERNAL = $00004000; + LINEFORWARDMODE_BUSYNASPECIFIC = $00008000; + LINEFORWARDMODE_UNKNOWN = $00010000; { TAPI v1.4 } + LINEFORWARDMODE_UNAVAIL = $00020000; { TAPI v1.4 } + + LINEGATHERTERM_BUFFERFULL = $00000001; + LINEGATHERTERM_TERMDIGIT = $00000002; + LINEGATHERTERM_FIRSTTIMEOUT = $00000004; + LINEGATHERTERM_INTERTIMEOUT = $00000008; + LINEGATHERTERM_CANCEL = $00000010; + + LINEGENERATETERM_DONE = $00000001; + LINEGENERATETERM_CANCEL = $00000002; + + { These constants are mutually exclusive - there's no way to specify more } + { than one at a time (and it doesn't make sense, either) so they're } + { ordinal rather than bits. } + + LINEINITIALIZEEXOPTION_USEHIDDENWINDOW = $00000001; { TAPI v2.0 } + LINEINITIALIZEEXOPTION_USEEVENT = $00000002; { TAPI v2.0 } + LINEINITIALIZEEXOPTION_USECOMPLETIONPORT = $00000003; { TAPI v2.0 } + + LINELOCATIONOPTION_PULSEDIAL = $00000001; { TAPI v1.4 } + + LINEMAPPER = $FFFFFFFF; + + LINEMEDIACONTROL_NONE = $00000001; + LINEMEDIACONTROL_START = $00000002; + LINEMEDIACONTROL_RESET = $00000004; + LINEMEDIACONTROL_PAUSE = $00000008; + LINEMEDIACONTROL_RESUME = $00000010; + LINEMEDIACONTROL_RATEUP = $00000020; + LINEMEDIACONTROL_RATEDOWN = $00000040; + LINEMEDIACONTROL_RATENORMAL = $00000080; + LINEMEDIACONTROL_VOLUMEUP = $00000100; + LINEMEDIACONTROL_VOLUMEDOWN = $00000200; + LINEMEDIACONTROL_VOLUMENORMAL = $00000400; + + LINEMEDIAMODE_UNKNOWN = $00000002; + LINEMEDIAMODE_INTERACTIVEVOICE = $00000004; + LINEMEDIAMODE_AUTOMATEDVOICE = $00000008; + LINEMEDIAMODE_DATAMODEM = $00000010; + LINEMEDIAMODE_G3FAX = $00000020; + LINEMEDIAMODE_TDD = $00000040; + LINEMEDIAMODE_G4FAX = $00000080; + LINEMEDIAMODE_DIGITALDATA = $00000100; + LINEMEDIAMODE_TELETEX = $00000200; + LINEMEDIAMODE_VIDEOTEX = $00000400; + LINEMEDIAMODE_TELEX = $00000800; + LINEMEDIAMODE_MIXED = $00001000; + LINEMEDIAMODE_ADSI = $00002000; + LINEMEDIAMODE_VOICEVIEW = $00004000; { TAPI v1.4 } + LAST_LINEMEDIAMODE = $00004000; + + LINEOFFERINGMODE_ACTIVE = $00000001; { TAPI v1.4 } + LINEOFFERINGMODE_INACTIVE = $00000002; { TAPI v1.4 } + + LINEOPENOPTION_SINGLEADDRESS = $80000000; { TAPI v2.0 } + LINEOPENOPTION_PROXY = $40000000; { TAPI v2.0 } + + LINEPARKMODE_DIRECTED = $00000001; + LINEPARKMODE_NONDIRECTED = $00000002; + + LINEPROXYREQUEST_SETAGENTGROUP = $00000001; { TAPI v2.0 } + LINEPROXYREQUEST_SETAGENTSTATE = $00000002; { TAPI v2.0 } + LINEPROXYREQUEST_SETAGENTACTIVITY = $00000003; { TAPI v2.0 } + LINEPROXYREQUEST_GETAGENTCAPS = $00000004; { TAPI v2.0 } + LINEPROXYREQUEST_GETAGENTSTATUS = $00000005; { TAPI v2.0 } + LINEPROXYREQUEST_AGENTSPECIFIC = $00000006; { TAPI v2.0 } + LINEPROXYREQUEST_GETAGENTACTIVITYLIST = $00000007; { TAPI v2.0 } + LINEPROXYREQUEST_GETAGENTGROUPLIST = $00000008; { TAPI v2.0 } + + LINEREMOVEFROMCONF_NONE = $00000001; + LINEREMOVEFROMCONF_LAST = $00000002; + LINEREMOVEFROMCONF_ANY = $00000003; + + LINEREQUESTMODE_MAKECALL = $00000001; + LINEREQUESTMODE_MEDIACALL = $00000002; + LINEREQUESTMODE_DROP = $00000004; + + LAST_LINEREQUESTMODE = LINEREQUESTMODE_MEDIACALL; + + LINEROAMMODE_UNKNOWN = $00000001; + LINEROAMMODE_UNAVAIL = $00000002; + LINEROAMMODE_HOME = $00000004; + LINEROAMMODE_ROAMA = $00000008; + LINEROAMMODE_ROAMB = $00000010; + + LINESPECIALINFO_NOCIRCUIT = $00000001; + LINESPECIALINFO_CUSTIRREG = $00000002; + LINESPECIALINFO_REORDER = $00000004; + LINESPECIALINFO_UNKNOWN = $00000008; + LINESPECIALINFO_UNAVAIL = $00000010; + + LINETERMDEV_PHONE = $00000001; + LINETERMDEV_HEADSET = $00000002; + LINETERMDEV_SPEAKER = $00000004; + + LINETERMMODE_BUTTONS = $00000001; + LINETERMMODE_LAMPS = $00000002; + LINETERMMODE_DISPLAY = $00000004; + LINETERMMODE_RINGER = $00000008; + LINETERMMODE_HOOKSWITCH = $00000010; + LINETERMMODE_MEDIATOLINE = $00000020; + LINETERMMODE_MEDIAFROMLINE = $00000040; + LINETERMMODE_MEDIABIDIRECT = $00000080; + + LINETERMSHARING_PRIVATE = $00000001; + LINETERMSHARING_SHAREDEXCL = $00000002; + LINETERMSHARING_SHAREDCONF = $00000004; + + LINETOLLLISTOPTION_ADD = $00000001; + LINETOLLLISTOPTION_REMOVE = $00000002; + + LINETONEMODE_CUSTOM = $00000001; + LINETONEMODE_RINGBACK = $00000002; + LINETONEMODE_BUSY = $00000004; + LINETONEMODE_BEEP = $00000008; + LINETONEMODE_BILLING = $00000010; + + LINETRANSFERMODE_TRANSFER = $00000001; + LINETRANSFERMODE_CONFERENCE = $00000002; + + LINETRANSLATEOPTION_CARDOVERRIDE = $00000001; + LINETRANSLATEOPTION_CANCELCALLWAITING = $00000002; { TAPI v1.4 } + LINETRANSLATEOPTION_FORCELOCAL = $00000004; { TAPI v1.4 } + LINETRANSLATEOPTION_FORCELD = $00000008; { TAPI v1.4 } + LINETRANSLATERESULT_CANONICAL = $00000001; + LINETRANSLATERESULT_INTERNATIONAL = $00000002; + LINETRANSLATERESULT_LONGDISTANCE = $00000004; + LINETRANSLATERESULT_LOCAL = $00000008; + LINETRANSLATERESULT_INTOLLLIST = $00000010; + LINETRANSLATERESULT_NOTINTOLLLIST = $00000020; + LINETRANSLATERESULT_DIALBILLING = $00000040; + LINETRANSLATERESULT_DIALQUIET = $00000080; + LINETRANSLATERESULT_DIALDIALTONE = $00000100; + LINETRANSLATERESULT_DIALPROMPT = $00000200; + LINETRANSLATERESULT_VOICEDETECT = $00000400; { TAPI v2.0 } + + PHONEBUTTONFUNCTION_UNKNOWN = $00000000; + PHONEBUTTONFUNCTION_CONFERENCE = $00000001; + PHONEBUTTONFUNCTION_TRANSFER = $00000002; + PHONEBUTTONFUNCTION_DROP = $00000003; + PHONEBUTTONFUNCTION_HOLD = $00000004; + PHONEBUTTONFUNCTION_RECALL = $00000005; + PHONEBUTTONFUNCTION_DISCONNECT = $00000006; + PHONEBUTTONFUNCTION_CONNECT = $00000007; + PHONEBUTTONFUNCTION_MSGWAITON = $00000008; + PHONEBUTTONFUNCTION_MSGWAITOFF = $00000009; + PHONEBUTTONFUNCTION_SELECTRING = $0000000A; + PHONEBUTTONFUNCTION_ABBREVDIAL = $0000000B; + PHONEBUTTONFUNCTION_FORWARD = $0000000C; + PHONEBUTTONFUNCTION_PICKUP = $0000000D; + PHONEBUTTONFUNCTION_RINGAGAIN = $0000000E; + PHONEBUTTONFUNCTION_PARK = $0000000F; + PHONEBUTTONFUNCTION_REJECT = $00000010; + PHONEBUTTONFUNCTION_REDIRECT = $00000011; + PHONEBUTTONFUNCTION_MUTE = $00000012; + PHONEBUTTONFUNCTION_VOLUMEUP = $00000013; + PHONEBUTTONFUNCTION_VOLUMEDOWN = $00000014; + PHONEBUTTONFUNCTION_SPEAKERON = $00000015; + PHONEBUTTONFUNCTION_SPEAKEROFF = $00000016; + PHONEBUTTONFUNCTION_FLASH = $00000017; + PHONEBUTTONFUNCTION_DATAON = $00000018; + PHONEBUTTONFUNCTION_DATAOFF = $00000019; + PHONEBUTTONFUNCTION_DONOTDISTURB = $0000001A; + PHONEBUTTONFUNCTION_INTERCOM = $0000001B; + PHONEBUTTONFUNCTION_BRIDGEDAPP = $0000001C; + PHONEBUTTONFUNCTION_BUSY = $0000001D; + PHONEBUTTONFUNCTION_CALLAPP = $0000001E; + PHONEBUTTONFUNCTION_DATETIME = $0000001F; + PHONEBUTTONFUNCTION_DIRECTORY = $00000020; + PHONEBUTTONFUNCTION_COVER = $00000021; + PHONEBUTTONFUNCTION_CALLID = $00000022; + PHONEBUTTONFUNCTION_LASTNUM = $00000023; + PHONEBUTTONFUNCTION_NIGHTSRV = $00000024; + PHONEBUTTONFUNCTION_SENDCALLS = $00000025; + PHONEBUTTONFUNCTION_MSGINDICATOR = $00000026; + PHONEBUTTONFUNCTION_REPDIAL = $00000027; + PHONEBUTTONFUNCTION_SETREPDIAL = $00000028; + PHONEBUTTONFUNCTION_SYSTEMSPEED = $00000029; + PHONEBUTTONFUNCTION_STATIONSPEED = $0000002A; + PHONEBUTTONFUNCTION_CAMPON = $0000002B; + PHONEBUTTONFUNCTION_SAVEREPEAT = $0000002C; + PHONEBUTTONFUNCTION_QUEUECALL = $0000002D; + PHONEBUTTONFUNCTION_NONE = $0000002E; + + PHONEBUTTONMODE_DUMMY = $00000001; + PHONEBUTTONMODE_CALL = $00000002; + PHONEBUTTONMODE_FEATURE = $00000004; + PHONEBUTTONMODE_KEYPAD = $00000008; + PHONEBUTTONMODE_LOCAL = $00000010; + PHONEBUTTONMODE_DISPLAY = $00000020; + + PHONEBUTTONSTATE_UP = $00000001; + PHONEBUTTONSTATE_DOWN = $00000002; + PHONEBUTTONSTATE_UNKNOWN = $00000004; { TAPI v1.4 } + PHONEBUTTONSTATE_UNAVAIL = $00000008; { TAPI v1.4 } + + PHONEERR_ALLOCATED = $90000001; + PHONEERR_BADDEVICEID = $90000002; + PHONEERR_INCOMPATIBLEAPIVERSION = $90000003; + PHONEERR_INCOMPATIBLEEXTVERSION = $90000004; + PHONEERR_INIFILECORRUPT = $90000005; + PHONEERR_INUSE = $90000006; + PHONEERR_INVALAPPHANDLE = $90000007; + PHONEERR_INVALAPPNAME = $90000008; + PHONEERR_INVALBUTTONLAMPID = $90000009; + PHONEERR_INVALBUTTONMODE = $9000000A; + PHONEERR_INVALBUTTONSTATE = $9000000B; + PHONEERR_INVALDATAID = $9000000C; + PHONEERR_INVALDEVICECLASS = $9000000D; + PHONEERR_INVALEXTVERSION = $9000000E; + PHONEERR_INVALHOOKSWITCHDEV = $9000000F; + PHONEERR_INVALHOOKSWITCHMODE = $90000010; + PHONEERR_INVALLAMPMODE = $90000011; + PHONEERR_INVALPARAM = $90000012; + PHONEERR_INVALPHONEHANDLE = $90000013; + PHONEERR_INVALPHONESTATE = $90000014; + PHONEERR_INVALPOINTER = $90000015; + PHONEERR_INVALPRIVILEGE = $90000016; + PHONEERR_INVALRINGMODE = $90000017; + PHONEERR_NODEVICE = $90000018; + PHONEERR_NODRIVER = $90000019; + PHONEERR_NOMEM = $9000001A; + PHONEERR_NOTOWNER = $9000001B; + PHONEERR_OPERATIONFAILED = $9000001C; + PHONEERR_OPERATIONUNAVAIL = $9000001D; + PHONEERR_RESOURCEUNAVAIL = $9000001F; + PHONEERR_REQUESTOVERRUN = $90000020; + PHONEERR_STRUCTURETOOSMALL = $90000021; + PHONEERR_UNINITIALIZED = $90000022; + PHONEERR_REINIT = $90000023; + + PHONEFEATURE_GETBUTTONINFO = $00000001; { TAPI v2.0 } + PHONEFEATURE_GETDATA = $00000002; { TAPI v2.0 } + PHONEFEATURE_GETDISPLAY = $00000004; { TAPI v2.0 } + PHONEFEATURE_GETGAINHANDSET = $00000008; { TAPI v2.0 } + PHONEFEATURE_GETGAINSPEAKER = $00000010; { TAPI v2.0 } + PHONEFEATURE_GETGAINHEADSET = $00000020; { TAPI v2.0 } + PHONEFEATURE_GETHOOKSWITCHHANDSET = $00000040; { TAPI v2.0 } + PHONEFEATURE_GETHOOKSWITCHSPEAKER = $00000080; { TAPI v2.0 } + PHONEFEATURE_GETHOOKSWITCHHEADSET = $00000100; { TAPI v2.0 } + PHONEFEATURE_GETLAMP = $00000200; { TAPI v2.0 } + PHONEFEATURE_GETRING = $00000400; { TAPI v2.0 } + PHONEFEATURE_GETVOLUMEHANDSET = $00000800; { TAPI v2.0 } + PHONEFEATURE_GETVOLUMESPEAKER = $00001000; { TAPI v2.0 } + PHONEFEATURE_GETVOLUMEHEADSET = $00002000; { TAPI v2.0 } + PHONEFEATURE_SETBUTTONINFO = $00004000; { TAPI v2.0 } + PHONEFEATURE_SETDATA = $00008000; { TAPI v2.0 } + PHONEFEATURE_SETDISPLAY = $00010000; { TAPI v2.0 } + PHONEFEATURE_SETGAINHANDSET = $00020000; { TAPI v2.0 } + PHONEFEATURE_SETGAINSPEAKER = $00040000; { TAPI v2.0 } + PHONEFEATURE_SETGAINHEADSET = $00080000; { TAPI v2.0 } + PHONEFEATURE_SETHOOKSWITCHHANDSET = $00100000; { TAPI v2.0 } + PHONEFEATURE_SETHOOKSWITCHSPEAKER = $00200000; { TAPI v2.0 } + PHONEFEATURE_SETHOOKSWITCHHEADSET = $00400000; { TAPI v2.0 } + PHONEFEATURE_SETLAMP = $00800000; { TAPI v2.0 } + PHONEFEATURE_SETRING = $01000000; { TAPI v2.0 } + PHONEFEATURE_SETVOLUMEHANDSET = $02000000; { TAPI v2.0 } + PHONEFEATURE_SETVOLUMESPEAKER = $04000000; { TAPI v2.0 } + PHONEFEATURE_SETVOLUMEHEADSET = $08000000; { TAPI v2.0 } + + PHONEHOOKSWITCHDEV_HANDSET = $00000001; + PHONEHOOKSWITCHDEV_SPEAKER = $00000002; + PHONEHOOKSWITCHDEV_HEADSET = $00000004; + + PHONEHOOKSWITCHMODE_ONHOOK = $00000001; + PHONEHOOKSWITCHMODE_MIC = $00000002; + PHONEHOOKSWITCHMODE_SPEAKER = $00000004; + PHONEHOOKSWITCHMODE_MICSPEAKER = $00000008; + PHONEHOOKSWITCHMODE_UNKNOWN = $00000010; + + PHONEINITIALIZEEXOPTION_USEHIDDENWINDOW = $00000001; { TAPI v2.0 } + PHONEINITIALIZEEXOPTION_USEEVENT = $00000002; { TAPI v2.0 } + PHONEINITIALIZEEXOPTION_USECOMPLETIONPORT = $00000003; { TAPI v2.0 } + + PHONELAMPMODE_DUMMY = $00000001; + PHONELAMPMODE_OFF = $00000002; + PHONELAMPMODE_STEADY = $00000004; + PHONELAMPMODE_WINK = $00000008; + PHONELAMPMODE_FLASH = $00000010; + PHONELAMPMODE_FLUTTER = $00000020; + PHONELAMPMODE_BROKENFLUTTER = $00000040; + PHONELAMPMODE_UNKNOWN = $00000080; + + PHONEPRIVILEGE_MONITOR = $00000001; + PHONEPRIVILEGE_OWNER = $00000002; + + PHONESTATE_OTHER = $00000001; + PHONESTATE_CONNECTED = $00000002; + PHONESTATE_DISCONNECTED = $00000004; + PHONESTATE_OWNER = $00000008; + PHONESTATE_MONITORS = $00000010; + PHONESTATE_DISPLAY = $00000020; + PHONESTATE_LAMP = $00000040; + PHONESTATE_RINGMODE = $00000080; + PHONESTATE_RINGVOLUME = $00000100; + PHONESTATE_HANDSETHOOKSWITCH = $00000200; + PHONESTATE_HANDSETVOLUME = $00000400; + PHONESTATE_HANDSETGAIN = $00000800; + PHONESTATE_SPEAKERHOOKSWITCH = $00001000; + PHONESTATE_SPEAKERVOLUME = $00002000; + PHONESTATE_SPEAKERGAIN = $00004000; + PHONESTATE_HEADSETHOOKSWITCH = $00008000; + PHONESTATE_HEADSETVOLUME = $00010000; + PHONESTATE_HEADSETGAIN = $00020000; + PHONESTATE_SUSPEND = $00040000; + PHONESTATE_RESUME = $00080000; + PHONESTATE_DEVSPECIFIC = $00100000; + PHONESTATE_REINIT = $00200000; + PHONESTATE_CAPSCHANGE = $00400000; { TAPI v1.4 } + PHONESTATE_REMOVED = $00800000; { TAPI v1.4 } + + PHONESTATUSFLAGS_CONNECTED = $00000001; + PHONESTATUSFLAGS_SUSPENDED = $00000002; + + STRINGFORMAT_ASCII = $00000001; + STRINGFORMAT_DBCS = $00000002; + STRINGFORMAT_UNICODE = $00000003; + STRINGFORMAT_BINARY = $00000004; + + TAPI_REPLY = WM_USER + 99; + + TAPIERR_CONNECTED = 0; + TAPIERR_DROPPED = -(1); + TAPIERR_NOREQUESTRECIPIENT = -(2); + TAPIERR_REQUESTQUEUEFULL = -(3); + TAPIERR_INVALDESTADDRESS = -(4); + TAPIERR_INVALWINDOWHANDLE = -(5); + TAPIERR_INVALDEVICECLASS = -(6); + TAPIERR_INVALDEVICEID = -(7); + TAPIERR_DEVICECLASSUNAVAIL = -(8); + TAPIERR_DEVICEIDUNAVAIL = -(9); + TAPIERR_DEVICEINUSE = -(10); + TAPIERR_DESTBUSY = -(11); + TAPIERR_DESTNOANSWER = -(12); + TAPIERR_DESTUNAVAIL = -(13); + TAPIERR_UNKNOWNWINHANDLE = -(14); + TAPIERR_UNKNOWNREQUESTID = -(15); + TAPIERR_REQUESTFAILED = -(16); + TAPIERR_REQUESTCANCELLED = -(17); + TAPIERR_INVALPOINTER = -(18); + + TAPIMAXDESTADDRESSSIZE = 80; + TAPIMAXAPPNAMESIZE = 40; + TAPIMAXCALLEDPARTYSIZE = 40; + TAPIMAXCOMMENTSIZE = 80; + TAPIMAXDEVICECLASSSIZE = 40; + TAPIMAXDEVICEIDSIZE = 40; + +//***************************************************************************** +// types +//***************************************************************************** + +type + + HCALL = HANDLE; + LPHCALL = ^HCALL; + + HLINE = HANDLE; + LPHLINE = ^HLINE; + + HPHONE = HANDLE; + LPHPHONE = ^HPHONE; + + HLINEAPP = HANDLE; + LPHLINEAPP = ^HLINEAPP; + + HPHONEAPP = HANDLE; + LPHPHONEAPP = ^HPHONEAPP; + + LINECALLBACK = procedure (hDevice:DWORD; dwMessage:DWORD; dwInstance:DWORD; dwParam1:DWORD; dwParam2:DWORD; + dwParam3:DWORD); + + PHONECALLBACK = procedure (hDevice:DWORD; dwMessage:DWORD; dwInstance:DWORD; dwParam1:DWORD; dwParam2:DWORD; + dwParam3:DWORD); + + lineaddresscaps_tag = record + dwTotalSize : DWORD; + dwNeededSize : DWORD; + dwUsedSize : DWORD; + dwLineDeviceID : DWORD; + dwAddressSize : DWORD; + dwAddressOffset : DWORD; + dwDevSpecificSize : DWORD; + dwDevSpecificOffset : DWORD; + dwAddressSharing : DWORD; + dwAddressStates : DWORD; + dwCallInfoStates : DWORD; + dwCallerIDFlags : DWORD; + dwCalledIDFlags : DWORD; + dwConnectedIDFlags : DWORD; + dwRedirectionIDFlags : DWORD; + dwRedirectingIDFlags : DWORD; + dwCallStates : DWORD; + dwDialToneModes : DWORD; + dwBusyModes : DWORD; + dwSpecialInfo : DWORD; + dwDisconnectModes : DWORD; + dwMaxNumActiveCalls : DWORD; + dwMaxNumOnHoldCalls : DWORD; + dwMaxNumOnHoldPendingCalls : DWORD; + dwMaxNumConference : DWORD; + dwMaxNumTransConf : DWORD; + dwAddrCapFlags : DWORD; + dwCallFeatures : DWORD; + dwRemoveFromConfCaps : DWORD; + dwRemoveFromConfState : DWORD; + dwTransferModes : DWORD; + dwParkModes : DWORD; + dwForwardModes : DWORD; + dwMaxForwardEntries : DWORD; + dwMaxSpecificEntries : DWORD; + dwMinFwdNumRings : DWORD; + dwMaxFwdNumRings : DWORD; + dwMaxCallCompletions : DWORD; + dwCallCompletionConds : DWORD; + dwCallCompletionModes : DWORD; + dwNumCompletionMessages : DWORD; + dwCompletionMsgTextEntrySize : DWORD; + dwCompletionMsgTextSize : DWORD; + dwCompletionMsgTextOffset : DWORD; + + dwAddressFeatures : DWORD; // TAPI v1.4 + + dwPredictiveAutoTransferStates : DWORD; // TAPI v2.0 + dwNumCallTreatments : DWORD; // TAPI v2.0 + dwCallTreatmentListSize : DWORD; // TAPI v2.0 + dwCallTreatmentListOffset : DWORD; // TAPI v2.0 + dwDeviceClassesSize : DWORD; // TAPI v2.0 + dwDeviceClassesOffset : DWORD; // TAPI v2.0 + dwMaxCallDataSize : DWORD; // TAPI v2.0 + dwCallFeatures2 : DWORD; // TAPI v2.0 + dwMaxNoAnswerTimeout : DWORD; // TAPI v2.0 + dwConnectedModes : DWORD; // TAPI v2.0 + dwOfferingModes : DWORD; // TAPI v2.0 + dwAvailableMediaModes : DWORD; // TAPI v2.0 + end; + TLINEADDRESSCAPS = lineaddresscaps_tag; + LPLINEADDRESSCAPS = ^lineaddresscaps_tag; + + lineaddressstatus_tag = record + dwTotalSize : DWORD; + dwNeededSize : DWORD; + dwUsedSize : DWORD; + dwNumInUse : DWORD; + dwNumActiveCalls : DWORD; + dwNumOnHoldCalls : DWORD; + dwNumOnHoldPendCalls : DWORD; + dwAddressFeatures : DWORD; + dwNumRingsNoAnswer : DWORD; + dwForwardNumEntries : DWORD; + dwForwardSize : DWORD; + dwForwardOffset : DWORD; + dwTerminalModesSize : DWORD; + dwTerminalModesOffset : DWORD; + dwDevSpecificSize : DWORD; + dwDevSpecificOffset : DWORD; + end; + TLINEADDRESSSTATUS = lineaddressstatus_tag; + LPLINEADDRESSSTATUS = ^lineaddressstatus_tag; + + linedialparams_tag = record + dwDialPause : DWORD; + dwDialSpeed : DWORD; + dwDigitDuration : DWORD; + dwWaitForDialtone : DWORD; + end; + TLINEDIALPARAMS = linedialparams_tag; + LPLINEDIALPARAMS = ^linedialparams_tag; + + linecallinfo_tag = record + dwTotalSize : DWORD; + dwNeededSize : DWORD; + dwUsedSize : DWORD; + hLine : HLINE; + dwLineDeviceID : DWORD; + dwAddressID : DWORD; + dwBearerMode : DWORD; + dwRate : DWORD; + dwMediaMode : DWORD; + dwAppSpecific : DWORD; + dwCallID : DWORD; + dwRelatedCallID : DWORD; + dwCallParamFlags : DWORD; + dwCallStates : DWORD; + dwMonitorDigitModes : DWORD; + dwMonitorMediaModes : DWORD; + DialParams : TLINEDIALPARAMS; + dwOrigin : DWORD; + dwReason : DWORD; + dwCompletionID : DWORD; + dwNumOwners : DWORD; + dwNumMonitors : DWORD; + dwCountryCode : DWORD; + dwTrunk : DWORD; + dwCallerIDFlags : DWORD; + dwCallerIDSize : DWORD; + dwCallerIDOffset : DWORD; + dwCallerIDNameSize : DWORD; + dwCallerIDNameOffset : DWORD; + dwCalledIDFlags : DWORD; + dwCalledIDSize : DWORD; + dwCalledIDOffset : DWORD; + dwCalledIDNameSize : DWORD; + dwCalledIDNameOffset : DWORD; + dwConnectedIDFlags : DWORD; + dwConnectedIDSize : DWORD; + dwConnectedIDOffset : DWORD; + dwConnectedIDNameSize : DWORD; + dwConnectedIDNameOffset : DWORD; + dwRedirectionIDFlags : DWORD; + dwRedirectionIDSize : DWORD; + dwRedirectionIDOffset : DWORD; + dwRedirectionIDNameSize : DWORD; + dwRedirectionIDNameOffset : DWORD; + dwRedirectingIDFlags : DWORD; + dwRedirectingIDSize : DWORD; + dwRedirectingIDOffset : DWORD; + dwRedirectingIDNameSize : DWORD; + dwRedirectingIDNameOffset : DWORD; + dwAppNameSize : DWORD; + dwAppNameOffset : DWORD; + dwDisplayableAddressSize : DWORD; + dwDisplayableAddressOffset : DWORD; + dwCalledPartySize : DWORD; + dwCalledPartyOffset : DWORD; + dwCommentSize : DWORD; + dwCommentOffset : DWORD; + dwDisplaySize : DWORD; + dwDisplayOffset : DWORD; + dwUserUserInfoSize : DWORD; + dwUserUserInfoOffset : DWORD; + dwHighLevelCompSize : DWORD; + dwHighLevelCompOffset : DWORD; + dwLowLevelCompSize : DWORD; + dwLowLevelCompOffset : DWORD; + dwChargingInfoSize : DWORD; + dwChargingInfoOffset : DWORD; + dwTerminalModesSize : DWORD; + dwTerminalModesOffset : DWORD; + dwDevSpecificSize : DWORD; + dwDevSpecificOffset : DWORD; + dwCallTreatment : DWORD; // TAPI v2.0 + dwCallDataSize : DWORD; // TAPI v2.0 + dwCallDataOffset : DWORD; // TAPI v2.0 + dwSendingFlowspecSize : DWORD; // TAPI v2.0 + dwSendingFlowspecOffset : DWORD; // TAPI v2.0 + dwReceivingFlowspecSize : DWORD; // TAPI v2.0 + dwReceivingFlowspecOffset : DWORD; // TAPI v2.0 + dwAddressType : DWORD; // TAPI v3.0 + end; + TLINECALLINFO = linecallinfo_tag; + LPLINECALLINFO = ^linecallinfo_tag; + + linecalllist_tag = record + dwTotalSize : DWORD; + dwNeededSize : DWORD; + dwUsedSize : DWORD; + dwCallsNumEntries : DWORD; + dwCallsSize : DWORD; + dwCallsOffset : DWORD; + end; + TLINECALLLIST = linecalllist_tag; + LPLINECALLLIST = ^linecalllist_tag; + + linecallparams_tag = record // Defaults: + dwTotalSize : DWORD; + dwBearerMode : DWORD; // voice + dwMinRate : DWORD; // (3.1kHz) + dwMaxRate : DWORD; // (3.1kHz) + dwMediaMode : DWORD; // interactiveVoice + dwCallParamFlags : DWORD; // 0 + dwAddressMode : DWORD; + dwAddressID : DWORD; // (any available) + DialParams : TLINEDIALPARAMS; // (0, 0, 0, 0) + dwOrigAddressSize : DWORD; // 0 + dwOrigAddressOffset : DWORD; + dwDisplayableAddressSize : DWORD; + dwDisplayableAddressOffset : DWORD; + dwCalledPartySize : DWORD; // 0 + dwCalledPartyOffset : DWORD; + dwCommentSize : DWORD; // 0 + dwCommentOffset : DWORD; + dwUserUserInfoSize : DWORD; // 0 + dwUserUserInfoOffset : DWORD; + dwHighLevelCompSize : DWORD; // 0 + dwHighLevelCompOffset : DWORD; + dwLowLevelCompSize : DWORD; // 0 + dwLowLevelCompOffset : DWORD; + dwDevSpecificSize : DWORD; // 0 + dwDevSpecificOffset : DWORD; + dwPredictiveAutoTransferStates : DWORD; // TAPI v2.0 + dwTargetAddressSize : DWORD; // TAPI v2.0 + dwTargetAddressOffset : DWORD; // TAPI v2.0 + dwSendingFlowspecSize : DWORD; // TAPI v2.0 + dwSendingFlowspecOffset : DWORD; // TAPI v2.0 + dwReceivingFlowspecSize : DWORD; // TAPI v2.0 + dwReceivingFlowspecOffset : DWORD; // TAPI v2.0 + dwDeviceClassSize : DWORD; // TAPI v2.0 + dwDeviceClassOffset : DWORD; // TAPI v2.0 + dwDeviceConfigSize : DWORD; // TAPI v2.0 + dwDeviceConfigOffset : DWORD; // TAPI v2.0 + dwCallDataSize : DWORD; // TAPI v2.0 + dwCallDataOffset : DWORD; // TAPI v2.0 + dwNoAnswerTimeout : DWORD; // TAPI v2.0 + dwCallingPartyIDSize : DWORD; // TAPI v2.0 + dwCallingPartyIDOffset : DWORD; // TAPI v2.0 + dwAddressType : DWORD; // TAPI v3.0 + end; + TLINECALLPARAMS = linecallparams_tag; + LPLINECALLPARAMS = ^linecallparams_tag; + + linecallstatus_tag = record + dwTotalSize : DWORD; + dwNeededSize : DWORD; + dwUsedSize : DWORD; + dwCallState : DWORD; + dwCallStateMode : DWORD; + dwCallPrivilege : DWORD; + dwCallFeatures : DWORD; + dwDevSpecificSize : DWORD; + dwDevSpecificOffset : DWORD; + + dwCallFeatures2 : DWORD; // TAPI v2.0 + tStateEntryTime : SYSTEMTIME; // TAPI v2.0 + end; + TLINECALLSTATUS = linecallstatus_tag; + LPLINECALLSTATUS = ^linecallstatus_tag; + + linecalltreatmententry_tag = record + dwCallTreatmentID : DWORD; // TAPI v2.0 + dwCallTreatmentNameSize : DWORD; // TAPI v2.0 + dwCallTreatmentNameOffset : DWORD; // TAPI v2.0 + end; + TLINECALLTREATMENTENTRY = linecalltreatmententry_tag; + LPLINECALLTREATMENTENTRY = ^linecalltreatmententry_tag; + + linecardentry_tag = record + dwPermanentCardID : DWORD; + dwCardNameSize : DWORD; + dwCardNameOffset : DWORD; + dwCardNumberDigits : DWORD; // TAPI v1.4 + dwSameAreaRuleSize : DWORD; // TAPI v1.4 + dwSameAreaRuleOffset : DWORD; // TAPI v1.4 + dwLongDistanceRuleSize : DWORD; // TAPI v1.4 + dwLongDistanceRuleOffset : DWORD; // TAPI v1.4 + dwInternationalRuleSize : DWORD; // TAPI v1.4 + dwInternationalRuleOffset : DWORD; // TAPI v1.4 + dwOptions : DWORD; // TAPI v1.4 + end; + TLINECARDENTRY = linecardentry_tag; + LPLINECARDENTRY = ^linecardentry_tag; + + linecountryentry_tag = record // TAPI v1.4 + dwCountryID : DWORD; // TAPI v1.4 + dwCountryCode : DWORD; // TAPI v1.4 + dwNextCountryID : DWORD; // TAPI v1.4 + dwCountryNameSize : DWORD; // TAPI v1.4 + dwCountryNameOffset : DWORD; // TAPI v1.4 + dwSameAreaRuleSize : DWORD; // TAPI v1.4 + dwSameAreaRuleOffset : DWORD; // TAPI v1.4 + dwLongDistanceRuleSize : DWORD; // TAPI v1.4 + dwLongDistanceRuleOffset : DWORD; // TAPI v1.4 + dwInternationalRuleSize : DWORD; // TAPI v1.4 + dwInternationalRuleOffset : DWORD; // TAPI v1.4 + end; + TLINECOUNTRYENTRY = linecountryentry_tag; + LPLINECOUNTRYENTRY = ^linecountryentry_tag; + + linecountrylist_tag = record + dwTotalSize : DWORD; // TAPI v1.4 + dwNeededSize : DWORD; // TAPI v1.4 + dwUsedSize : DWORD; // TAPI v1.4 + dwNumCountries : DWORD; // TAPI v1.4 + dwCountryListSize : DWORD; // TAPI v1.4 + dwCountryListOffset : DWORD; // TAPI v1.4 + end; + TLINECOUNTRYLIST = linecountrylist_tag; + LPLINECOUNTRYLIST = ^linecountrylist_tag; + + linedevcaps_tag = record + dwTotalSize : DWORD; + dwNeededSize : DWORD; + dwUsedSize : DWORD; + dwProviderInfoSize : DWORD; + dwProviderInfoOffset : DWORD; + dwSwitchInfoSize : DWORD; + dwSwitchInfoOffset : DWORD; + dwPermanentLineID : DWORD; + dwLineNameSize : DWORD; + dwLineNameOffset : DWORD; + dwStringFormat : DWORD; + dwAddressModes : DWORD; + dwNumAddresses : DWORD; + dwBearerModes : DWORD; + dwMaxRate : DWORD; + dwMediaModes : DWORD; + dwGenerateToneModes : DWORD; + dwGenerateToneMaxNumFreq : DWORD; + dwGenerateDigitModes : DWORD; + dwMonitorToneMaxNumFreq : DWORD; + dwMonitorToneMaxNumEntries : DWORD; + dwMonitorDigitModes : DWORD; + dwGatherDigitsMinTimeout : DWORD; + dwGatherDigitsMaxTimeout : DWORD; + dwMedCtlDigitMaxListSize : DWORD; + dwMedCtlMediaMaxListSize : DWORD; + dwMedCtlToneMaxListSize : DWORD; + dwMedCtlCallStateMaxListSize : DWORD; + dwDevCapFlags : DWORD; + dwMaxNumActiveCalls : DWORD; + dwAnswerMode : DWORD; + dwRingModes : DWORD; + dwLineStates : DWORD; + dwUUIAcceptSize : DWORD; + dwUUIAnswerSize : DWORD; + dwUUIMakeCallSize : DWORD; + dwUUIDropSize : DWORD; + dwUUISendUserUserInfoSize : DWORD; + dwUUICallInfoSize : DWORD; + MinDialParams : TLINEDIALPARAMS; + MaxDialParams : TLINEDIALPARAMS; + DefaultDialParams : TLINEDIALPARAMS; + dwNumTerminals : DWORD; + dwTerminalCapsSize : DWORD; + dwTerminalCapsOffset : DWORD; + dwTerminalTextEntrySize : DWORD; + dwTerminalTextSize : DWORD; + dwTerminalTextOffset : DWORD; + dwDevSpecificSize : DWORD; + dwDevSpecificOffset : DWORD; + + dwLineFeatures : DWORD; // TAPI v1.4 + + dwSettableDevStatus : DWORD; // TAPI v2.0 + dwDeviceClassesSize : DWORD; // TAPI v2.0 + dwDeviceClassesOffset : DWORD; // TAPI v2.0 + PermanentLineGuid : GUID; // TAPI v2.2 + dwAddressTypes : DWORD; // TAPI v3.0 + ProtocolGuid : GUID; // TAPI v3.0 + dwAvailableTracking : DWORD; // TAPI v3.0 + end; + TLINEDEVCAPS = linedevcaps_tag; + LPLINEDEVCAPS = ^linedevcaps_tag; + + linedevstatus_tag = record + dwTotalSize : DWORD; + dwNeededSize : DWORD; + dwUsedSize : DWORD; + dwNumOpens : DWORD; + dwOpenMediaModes : DWORD; + dwNumActiveCalls : DWORD; + dwNumOnHoldCalls : DWORD; + dwNumOnHoldPendCalls : DWORD; + dwLineFeatures : DWORD; + dwNumCallCompletions : DWORD; + dwRingMode : DWORD; + dwSignalLevel : DWORD; + dwBatteryLevel : DWORD; + dwRoamMode : DWORD; + dwDevStatusFlags : DWORD; + dwTerminalModesSize : DWORD; + dwTerminalModesOffset : DWORD; + dwDevSpecificSize : DWORD; + dwDevSpecificOffset : DWORD; + + dwAvailableMediaModes : DWORD; // TAPI v2.0 + dwAppInfoSize : DWORD; // TAPI v2.0 + dwAppInfoOffset : DWORD; // TAPI v2.0 + end; + LINEDEVSTATUS = linedevstatus_tag; + LPLINEDEVSTATUS = ^linedevstatus_tag; + + lineextensionid_tag = record + dwExtensionID0 : DWORD; + dwExtensionID1 : DWORD; + dwExtensionID2 : DWORD; + dwExtensionID3 : DWORD; + end; + TLINEEXTENSIONID = lineextensionid_tag; + LPLINEEXTENSIONID = ^lineextensionid_tag; + + lineforward_tag = record + dwForwardMode : DWORD; + dwCallerAddressSize : DWORD; + dwCallerAddressOffset : DWORD; + dwDestCountryCode : DWORD; + dwDestAddressSize : DWORD; + dwDestAddressOffset : DWORD; + end; + TLINEFORWARD = lineforward_tag; + LPLINEFORWARD = ^lineforward_tag; + + lineforwardlist_tag = record + dwTotalSize : DWORD; + dwNumEntries : DWORD; + ForwardList : array[0..0] of TLINEFORWARD; + end; + TLINEFORWARDLIST = lineforwardlist_tag; + LPLINEFORWARDLIST = ^lineforwardlist_tag; + + linegeneratetone_tag = record + dwFrequency : DWORD; + dwCadenceOn : DWORD; + dwCadenceOff : DWORD; + dwVolume : DWORD; + end; + TLINEGENERATETONE = linegeneratetone_tag; + LPLINEGENERATETONE = ^linegeneratetone_tag; + + lineinitializeexparams_tag = record + dwTotalSize : DWORD; // TAPI v2.0 + dwNeededSize : DWORD; // TAPI v2.0 + dwUsedSize : DWORD; // TAPI v2.0 + dwOptions : DWORD; // TAPI v2.0 + + Handles : record + case longint of + 0 : ( hEvent : HANDLE ); // TAPI v2.0 + 1 : ( hCompletionPort : HANDLE ); // TAPI v2.0 + end; + dwCompletionKey : DWORD; // TAPI v2.0 + end; + TLINEINITIALIZEEXPARAMS = lineinitializeexparams_tag; + LPLINEINITIALIZEEXPARAMS = ^lineinitializeexparams_tag; + + linelocationentry_tag = record + dwPermanentLocationID : DWORD; + dwLocationNameSize : DWORD; + dwLocationNameOffset : DWORD; + dwCountryCode : DWORD; + dwCityCodeSize : DWORD; + dwCityCodeOffset : DWORD; + dwPreferredCardID : DWORD; + + dwLocalAccessCodeSize : DWORD; // TAPI v1.4 + dwLocalAccessCodeOffset : DWORD; // TAPI v1.4 + dwLongDistanceAccessCodeSize : DWORD; // TAPI v1.4 + dwLongDistanceAccessCodeOffset : DWORD; // TAPI v1.4 + dwTollPrefixListSize : DWORD; // TAPI v1.4 + dwTollPrefixListOffset : DWORD; // TAPI v1.4 + dwCountryID : DWORD; // TAPI v1.4 + dwOptions : DWORD; // TAPI v1.4 + dwCancelCallWaitingSize : DWORD; // TAPI v1.4 + dwCancelCallWaitingOffset : DWORD; // TAPI v1.4 + end; + TLINELOCATIONENTRY = linelocationentry_tag; + LPLINELOCATIONENTRY = ^linelocationentry_tag; + + linemediacontrolcallstate_tag = record + dwCallStates : DWORD; + dwMediaControl : DWORD; + end; + TLINEMEDIACONTROLCALLSTATE = linemediacontrolcallstate_tag; + LPLINEMEDIACONTROLCALLSTATE = ^linemediacontrolcallstate_tag; + + linemediacontroldigit_tag = record + dwDigit : DWORD; + dwDigitModes : DWORD; + dwMediaControl : DWORD; + end; + TLINEMEDIACONTROLDIGIT = linemediacontroldigit_tag; + LPLINEMEDIACONTROLDIGIT = ^linemediacontroldigit_tag; + + linemediacontrolmedia_tag = record + dwMediaModes : DWORD; + dwDuration : DWORD; + dwMediaControl : DWORD; + end; + TLINEMEDIACONTROLMEDIA = linemediacontrolmedia_tag; + LPLINEMEDIACONTROLMEDIA = ^linemediacontrolmedia_tag; + + linemediacontroltone_tag = record + dwAppSpecific : DWORD; + dwDuration : DWORD; + dwFrequency1 : DWORD; + dwFrequency2 : DWORD; + dwFrequency3 : DWORD; + dwMediaControl : DWORD; + end; + TLINEMEDIACONTROLTONE = linemediacontroltone_tag; + LPLINEMEDIACONTROLTONE = ^linemediacontroltone_tag; + + linemessage_tag = record + hDevice : DWORD; // TAPI v2.0 + dwMessageID : DWORD; // TAPI v2.0 + dwCallbackInstance : DWORD; // TAPI v2.0 + dwParam1 : DWORD; // TAPI v2.0 + dwParam2 : DWORD; // TAPI v2.0 + dwParam3 : DWORD; // TAPI v2.0 + end; + TLINEMESSAGE = linemessage_tag; + LPLINEMESSAGE = ^linemessage_tag; + + linemonitortone_tag = record + dwAppSpecific : DWORD; + dwDuration : DWORD; + dwFrequency1 : DWORD; + dwFrequency2 : DWORD; + dwFrequency3 : DWORD; + end; + TLINEMONITORTONE = linemonitortone_tag; + LPLINEMONITORTONE = ^linemonitortone_tag; + + lineproviderentry_tag = record + dwPermanentProviderID : DWORD; // TAPI v1.4 + dwProviderFilenameSize : DWORD; // TAPI v1.4 + dwProviderFilenameOffset : DWORD; // TAPI v1.4 + end; + TLINEPROVIDERENTRY = lineproviderentry_tag; + LPLINEPROVIDERENTRY = ^lineproviderentry_tag; + + lineproviderlist_tag = record + dwTotalSize : DWORD; // TAPI v1.4 + dwNeededSize : DWORD; // TAPI v1.4 + dwUsedSize : DWORD; // TAPI v1.4 + dwNumProviders : DWORD; // TAPI v1.4 + dwProviderListSize : DWORD; // TAPI v1.4 + dwProviderListOffset : DWORD; // TAPI v1.4 + end; + TLINEPROVIDERLIST = lineproviderlist_tag; + LPLINEPROVIDERLIST = ^lineproviderlist_tag; + + linetermcaps_tag = record + dwTermDev : DWORD; + dwTermModes : DWORD; + dwTermSharing : DWORD; + end; + TLINETERMCAPS = linetermcaps_tag; + LPLINETERMCAPS = ^linetermcaps_tag; + + linetranslatecaps_tag = record + dwTotalSize : DWORD; + dwNeededSize : DWORD; + dwUsedSize : DWORD; + dwNumLocations : DWORD; + dwLocationListSize : DWORD; + dwLocationListOffset : DWORD; + dwCurrentLocationID : DWORD; + dwNumCards : DWORD; + dwCardListSize : DWORD; + dwCardListOffset : DWORD; + dwCurrentPreferredCardID : DWORD; + end; + TLINETRANSLATECAPS = linetranslatecaps_tag; + LPLINETRANSLATECAPS = ^linetranslatecaps_tag; + + linetranslateoutput_tag = record + dwTotalSize : DWORD; + dwNeededSize : DWORD; + dwUsedSize : DWORD; + dwDialableStringSize : DWORD; + dwDialableStringOffset : DWORD; + dwDisplayableStringSize : DWORD; + dwDisplayableStringOffset : DWORD; + dwCurrentCountry : DWORD; + dwDestCountry : DWORD; + dwTranslateResults : DWORD; + end; + TLINETRANSLATEOUTPUT = linetranslateoutput_tag; + LPLINETRANSLATEOUTPUT = ^linetranslateoutput_tag; + + phonebuttoninfo_tag = record + dwTotalSize : DWORD; + dwNeededSize : DWORD; + dwUsedSize : DWORD; + dwButtonMode : DWORD; + dwButtonFunction : DWORD; + dwButtonTextSize : DWORD; + dwButtonTextOffset : DWORD; + dwDevSpecificSize : DWORD; + dwDevSpecificOffset : DWORD; + + dwButtonState : DWORD; // TAPI v1.4 + end; + TPHONEBUTTONINFO = phonebuttoninfo_tag; + LPPHONEBUTTONINFO = ^phonebuttoninfo_tag; + + phonecaps_tag = record + dwTotalSize : DWORD; + dwNeededSize : DWORD; + dwUsedSize : DWORD; + dwProviderInfoSize : DWORD; + dwProviderInfoOffset : DWORD; + dwPhoneInfoSize : DWORD; + dwPhoneInfoOffset : DWORD; + dwPermanentPhoneID : DWORD; + dwPhoneNameSize : DWORD; + dwPhoneNameOffset : DWORD; + dwStringFormat : DWORD; + dwPhoneStates : DWORD; + dwHookSwitchDevs : DWORD; + dwHandsetHookSwitchModes : DWORD; + dwSpeakerHookSwitchModes : DWORD; + dwHeadsetHookSwitchModes : DWORD; + dwVolumeFlags : DWORD; + dwGainFlags : DWORD; + dwDisplayNumRows : DWORD; + dwDisplayNumColumns : DWORD; + dwNumRingModes : DWORD; + dwNumButtonLamps : DWORD; + dwButtonModesSize : DWORD; + dwButtonModesOffset : DWORD; + dwButtonFunctionsSize : DWORD; + dwButtonFunctionsOffset : DWORD; + dwLampModesSize : DWORD; + dwLampModesOffset : DWORD; + dwNumSetData : DWORD; + dwSetDataSize : DWORD; + dwSetDataOffset : DWORD; + dwNumGetData : DWORD; + dwGetDataSize : DWORD; + dwGetDataOffset : DWORD; + dwDevSpecificSize : DWORD; + dwDevSpecificOffset : DWORD; + dwDeviceClassesSize : DWORD; // TAPI v2.0 + dwDeviceClassesOffset : DWORD; // TAPI v2.0 + dwPhoneFeatures : DWORD; // TAPI v2.0 + dwSettableHandsetHookSwitchModes : DWORD; // TAPI v2.0 + dwSettableSpeakerHookSwitchModes : DWORD; // TAPI v2.0 + dwSettableHeadsetHookSwitchModes : DWORD; // TAPI v2.0 + dwMonitoredHandsetHookSwitchModes : DWORD; // TAPI v2.0 + dwMonitoredSpeakerHookSwitchModes : DWORD; // TAPI v2.0 + dwMonitoredHeadsetHookSwitchModes : DWORD; // TAPI v2.0 + PermanentPhoneGuid : GUID; // TAPI v2.2 + end; + TPHONECAPS = phonecaps_tag; + LPPHONECAPS = ^phonecaps_tag; + + phoneextensionid_tag = record + dwExtensionID0 : DWORD; + dwExtensionID1 : DWORD; + dwExtensionID2 : DWORD; + dwExtensionID3 : DWORD; + end; + TPHONEEXTENSIONID = phoneextensionid_tag; + LPPHONEEXTENSIONID = ^phoneextensionid_tag; + + phoneinitializeexparams_tag = record + dwTotalSize : DWORD; // TAPI v2.0 + dwNeededSize : DWORD; // TAPI v2.0 + dwUsedSize : DWORD; // TAPI v2.0 + dwOptions : DWORD; // TAPI v2.0 + + Handles : record + case longint of + 0 : ( hEvent : HANDLE ); // TAPI v2.0 + 1 : ( hCompletionPort : HANDLE ); // TAPI v2.0 + end; + + dwCompletionKey : DWORD; // TAPI v2.0 + end; + TPHONEINITIALIZEEXPARAMS = phoneinitializeexparams_tag; + LPPHONEINITIALIZEEXPARAMS = ^phoneinitializeexparams_tag; + + phonemessage_tag = record + hDevice : DWORD; // TAPI v2.0 + dwMessageID : DWORD; // TAPI v2.0 + dwCallbackInstance : DWORD; // TAPI v2.0 + dwParam1 : DWORD; // TAPI v2.0 + dwParam2 : DWORD; // TAPI v2.0 + dwParam3 : DWORD; // TAPI v2.0 + end; + TPHONEMESSAGE = phonemessage_tag; + LPPHONEMESSAGE = ^phonemessage_tag; + + phonestatus_tag = record + dwTotalSize : DWORD; + dwNeededSize : DWORD; + dwUsedSize : DWORD; + dwStatusFlags : DWORD; + dwNumOwners : DWORD; + dwNumMonitors : DWORD; + dwRingMode : DWORD; + dwRingVolume : DWORD; + dwHandsetHookSwitchMode : DWORD; + dwHandsetVolume : DWORD; + dwHandsetGain : DWORD; + dwSpeakerHookSwitchMode : DWORD; + dwSpeakerVolume : DWORD; + dwSpeakerGain : DWORD; + dwHeadsetHookSwitchMode : DWORD; + dwHeadsetVolume : DWORD; + dwHeadsetGain : DWORD; + dwDisplaySize : DWORD; + dwDisplayOffset : DWORD; + dwLampModesSize : DWORD; + dwLampModesOffset : DWORD; + dwOwnerNameSize : DWORD; + dwOwnerNameOffset : DWORD; + dwDevSpecificSize : DWORD; + dwDevSpecificOffset : DWORD; + + dwPhoneFeatures : DWORD; // TAPI v2.0 + end; + TPHONESTATUS = phonestatus_tag; + LPPHONESTATUS = ^phonestatus_tag; + + varstring_tag = record + dwTotalSize : DWORD; + dwNeededSize : DWORD; + dwUsedSize : DWORD; + dwStringFormat : DWORD; + dwStringSize : DWORD; + dwStringOffset : DWORD; + end; + TVARSTRING = varstring_tag; + LPVARSTRING = ^varstring_tag; + +//***************************************************************************** +// functions +//***************************************************************************** + +function lineAccept(hCall:HCALL; lpsUserUserInfo:LPCSTR; dwSize:DWORD):LONG;external KernelDLL name 'lineAccept'; +function lineAddProvider(lpszProviderFilename:LPCWSTR; hwndOwner:HWND; + lpdwPermanentProviderID:LPDWORD):LONG;external KernelDLL name 'lineAddProvider'; +function lineAddToConference(hConfCall:HCALL; hConsultCall:HCALL):LONG;external KernelDLL name 'lineAddToConference'; +function lineAnswer(hCall:HCALL; lpsUserUserInfo:LPCSTR; dwSize:DWORD):LONG;external KernelDLL name 'lineAnswer'; +function lineBlindTransfer(hCall:HCALL; lpszDestAddressW:LPCWSTR; + dwCountryCode:DWORD):LONG;external KernelDLL name 'lineBlindTransfer'; +function lineClose(hLine:HLINE):LONG;external KernelDLL name 'lineClose'; +function lineCompleteTransfer(hCall:HCALL; hConsultCall:HCALL; lphConfCall:LPHCALL; + dwTransferMode:DWORD):LONG;external KernelDLL name 'lineCompleteTransfer'; +function lineConfigDialogEdit(dwDeviceID:DWORD; hwndOwner:HWND; lpszDeviceClass:LPCWSTR; lpDeviceConfigIn:LPVOID; + dwSize:DWORD; lpDeviceConfigOut:LPVARSTRING):LONG;external KernelDLL name 'lineConfigDialogEdit'; +function lineDeallocateCall(hCall:HCALL):LONG;external KernelDLL name 'lineDeallocateCall'; +function lineDevSpecific(hLine:HLINE; dwAddressID:DWORD; hCall:HCALL; lpParams:LPVOID; + dwSize:DWORD):LONG;external KernelDLL name 'lineDevSpecific'; +function lineDial(hCall:HCALL; lpszDestAddress:LPCWSTR; dwCountryCode:DWORD):LONG;external KernelDLL name 'lineDial'; +function lineDrop(hCall:HCALL; lpsUserUserInfo:LPCSTR; dwSize:DWORD):LONG;external KernelDLL name 'lineDrop'; +function lineForward(hLine:HLINE; bAllAddresses:DWORD; dwAddressID:DWORD; lpForwardList:LPLINEFORWARDLIST; + dwNumRingsNoAnswer:DWORD; lphConsultCall:LPHCALL; lpCallParams:LPLINECALLPARAMS):LONG;external KernelDLL name 'lineForward'; +function lineGenerateDigits(hCall:HCALL; dwDigitMode:DWORD; lpszDigits:LPCWSTR; dwDuration:DWORD):LONG; + external KernelDLL name 'lineGenerateDigits'; +function lineGenerateTone(hCall:HCALL; dwToneMode:DWORD; dwDuration:DWORD; dwNumTones:DWORD; lpTones:LPLINEGENERATETONE):LONG; + external KernelDLL name 'lineGenerateTone'; +function lineGetAddressCaps(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAddressID:DWORD; dwAPIVersion:DWORD; + dwExtVersion:DWORD; lpAddressCaps:LPLINEADDRESSCAPS):LONG;external KernelDLL name 'lineGetAddressCaps'; +function lineGetAddressID(hLine:HLINE; lpdwAddressID:LPDWORD; dwAddressMode:DWORD; lpsAddress:LPCWSTR; + dwSize:DWORD):LONG;external KernelDLL name 'lineGetAddressID'; +function tAddressStatus(hLine:HLINE; dwAddressID:DWORD; lpAddressStatus:LPLINEADDRESSSTATUS):LONG; + external KernelDLL name 'lineGetAddressStatus'; +function lineGetAppPriority(lpszAppFilename:LPCWSTR; dwMediaMode:DWORD; lpExtensionID:LPLINEEXTENSIONID; + dwRequestMode:DWORD; lpExtensionName:LPVARSTRING; lpdwPriority:LPDWORD):LONG;external KernelDLL name 'lineGetAppPriority'; { TAPI v1.4 } +function lineGetCallInfo(hCall:HCALL; lpCallInfo:LPLINECALLINFO):LONG;external KernelDLL name 'lineGetCallInfo'; +function lineGetCallStatus(hCall:HCALL; lpCallStatus:LPLINECALLSTATUS):LONG;external KernelDLL name 'lineGetCallStatus'; +function lineGetConfRelatedCalls(hCall:HCALL; lpCallList:LPLINECALLLIST):LONG;external KernelDLL name 'lineGetConfRelatedCalls'; +function lineGetDevCaps(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; dwExtVersion:DWORD; + lpLineDevCaps:LPLINEDEVCAPS):LONG;external KernelDLL name 'lineGetDevCaps'; +function lineGetDevConfig(dwDeviceID:DWORD; lpDeviceConfig:LPVARSTRING; lpszDeviceClass:LPCWSTR):LONG; + external KernelDLL name 'lineGetDevConfig'; +function lineGetNewCalls(hLine:HLINE; dwAddressID:DWORD; dwSelect:DWORD; lpCallList:LPLINECALLLIST):LONG; + external KernelDLL name 'lineGetNewCalls'; +function lineGetIcon(dwDeviceID:DWORD; lpszDeviceClass:LPCWSTR; lphIcon:LPHICON):LONG;external KernelDLL name 'lineGetIcon'; +function lineGetID(hLine:HLINE; dwAddressID:DWORD; hCall:HCALL; dwSelect:DWORD; lpDeviceID:LPVARSTRING; + lpszDeviceClass:LPCWSTR):LONG;external KernelDLL name 'lineGetID'; +function lineGetLineDevStatus(hLine:HLINE; lpLineDevStatus:LPLINEDEVSTATUS):LONG;external KernelDLL name 'lineGetLineDevStatus'; +function lineGetMessage(hLineApp:HLINEAPP; lpMessage:LPLINEMESSAGE; dwTimeout:DWORD):LONG;external KernelDLL name 'lineGetMessage'; +function lineGetNumRings(hLine:HLINE; dwAddressID:DWORD; lpdwNumRings:LPDWORD):LONG;external KernelDLL name 'lineGetNumRings'; +function lineGetProviderList(dwAPIVersion:DWORD; lpProviderList:LPLINEPROVIDERLIST):LONG; + external KernelDLL name 'lineGetProviderList'; { TAPI v1.4 } +function lineGetStatusMessages(hLine:HLINE; lpdwLineStates:LPDWORD; lpdwAddressStates:LPDWORD):LONG; + external KernelDLL name 'lineGetStatusMessages'; +function lineGetTranslateCaps(hLineApp:HLINEAPP; dwAPIVersion:DWORD; lpTranslateCaps:LPLINETRANSLATECAPS):LONG; + external KernelDLL name 'lineGetTranslateCaps'; +function lineHandoff(hCall:HCALL; lpszFileName:LPCWSTR; dwMediaMode:DWORD):LONG;external KernelDLL name 'lineHandoff'; +function lineHold(hCall:HCALL):LONG;external KernelDLL name 'lineHold'; +function lineInitialize(lphLineApp:LPHLINEAPP; hInstance:HINST; lpfnCallback:LINECALLBACK; lpszAppName:LPCWSTR; + lpdwNumDevs:LPDWORD):LONG;external KernelDLL name 'lineInitialize'; +function lineInitializeEx(lphLineApp:LPHLINEAPP; hInstance:HINST; lpfnCallback:LINECALLBACK; lpszFriendlyAppName:LPCWSTR; + lpdwNumDevs:LPDWORD; lpdwAPIVersion:LPDWORD; lpLineInitializeExParams:LPLINEINITIALIZEEXPARAMS):LONG; + external KernelDLL name 'lineInitializeEx'; +function lineMakeCall(hLine:HLINE; lphCall:LPHCALL; lpszDestAddress:LPCWSTR; dwCountryCode:DWORD; + lpCallParams:LPLINECALLPARAMS):LONG;external KernelDLL name 'lineMakeCall'; +function lineMonitorDigits(hCall:HCALL; dwDigitModes:DWORD):LONG;external KernelDLL name 'lineMonitorDigits'; +function lineMonitorMedia(hCall:HCALL; dwMediaModes:DWORD):LONG;external KernelDLL name 'lineMonitorMedia'; +function lineNegotiateAPIVersion(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAPILowVersion:DWORD; dwAPIHighVersion:DWORD; + lpdwAPIVersion:LPDWORD; lpExtensionID:LPLINEEXTENSIONID):LONG;external KernelDLL name 'lineNegotiateAPIVersion'; +function lineNegotiateExtVersion(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; dwExtLowVersion:DWORD; + dwExtHighVersion:DWORD; lpdwExtVersion:LPDWORD):LONG;external KernelDLL name 'lineNegotiateExtVersion'; +function lineOpen(hLineApp:HLINEAPP; dwDeviceID:DWORD; lphLine:LPHLINE; dwAPIVersion:DWORD; dwExtVersion:DWORD; + dwCallbackInstance:DWORD; dwPrivileges:DWORD; dwMediaModes:DWORD; lpCallParams:LPLINECALLPARAMS):LONG; + external KernelDLL name 'lineOpen'; +function linePickup(hLine:HLINE; dwAddressID:DWORD; lphCall:LPHCALL; lpszDestAddress:LPCWSTR; lpszGroupID:LPCWSTR):LONG; + external KernelDLL name 'linePickup'; +function linePrepareAddToConference(hConfCall:HCALL; lphConsultCall:LPHCALL; lpCallParams:LPLINECALLPARAMS):LONG; + external KernelDLL name 'linePrepareAddToConference'; +function lineRedirect(hCall:HCALL; lpszDestAddress:LPCWSTR; dwCountryCode:DWORD):LONG;external KernelDLL name 'lineRedirect'; +function lineReleaseUserUserInfo(hCall:HCALL):LONG;external KernelDLL name 'lineReleaseUserUserInfo'; { TAPI v1.4 } +function lineRemoveFromConference(hCall:HCALL):LONG;external KernelDLL name 'lineRemoveFromConference'; +function lineSendUserUserInfo(hCall:HCALL; lpsUserUserInfo:LPCSTR; dwSize:DWORD):LONG;external KernelDLL name 'lineSendUserUserInfo'; +function lineSetAppPriority(lpszAppFilename:LPCWSTR; dwMediaMode:DWORD; lpExtensionID:LPLINEEXTENSIONID; dwRequestMode:DWORD; + lpszExtensionName:LPCWSTR; dwPriority:DWORD):LONG;external KernelDLL name 'lineSetAppPriority'; { TAPI v1.4 } +function lineSetCallParams(hCall:HCALL; dwBearerMode:DWORD; dwMinRate:DWORD; dwMaxRate:DWORD; lpDialParams:LPLINEDIALPARAMS):LONG; + external KernelDLL name 'lineSetCallParams'; +function lineSetCallPrivilege(hCall:HCALL; dwCallPrivilege:DWORD):LONG;external KernelDLL name 'lineSetCallPrivilege'; +function lineSetCurrentLocation(hLineApp:HLINEAPP; dwLocation:DWORD):LONG;external KernelDLL name 'lineSetCurrentLocation'; +function lineSetDevConfig(dwDeviceID:DWORD; lpDeviceConfig:LPVOID; dwSize:DWORD; lpszDeviceClass:LPCWSTR):LONG; + external KernelDLL name 'lineSetDevConfig'; +function lineSetMediaMode(hCall:HCALL; dwMediaModes:DWORD):LONG;external KernelDLL name 'lineSetMediaMode'; +function lineSetNumRings(hLine:HLINE; dwAddressID:DWORD; dwNumRings:DWORD):LONG;external KernelDLL name 'lineSetNumRings'; +function lineSetStatusMessages(hLine:HLINE; dwLineStates:DWORD; dwAddressStates:DWORD):LONG; + external KernelDLL name 'lineSetStatusMessages'; +function lineSetTerminal(hLine:HLINE; dwAddressID:DWORD; hCall:HCALL; dwSelect:DWORD; dwTerminalModes:DWORD; + dwTerminalID:DWORD; bEnable:DWORD):LONG;external KernelDLL name 'lineSetTerminal'; +function lineSetTollList(hLineApp:HLINEAPP; dwDeviceID:DWORD; lpszAddressIn:LPCWSTR; dwTollListOption:DWORD):LONG; + external KernelDLL name 'lineSetTollList'; +function lineSetupConference(hCall:HCALL; hLine:HLINE; lphConfCall:LPHCALL; lphConsultCall:LPHCALL; dwNumParties:DWORD; + lpCallParams:LPLINECALLPARAMS):LONG;external KernelDLL name 'lineSetupConference'; +function lineSetupTransfer(hCall:HCALL; lphConsultCall:LPHCALL; lpCallParams:LPLINECALLPARAMS):LONG; + external KernelDLL name 'lineSetupTransfer'; +function lineShutdown(hLineApp:HLINEAPP):LONG;external KernelDLL name 'lineShutdown'; +function lineSwapHold(hActiveCall:HCALL; hHeldCall:HCALL):LONG;external KernelDLL name 'lineSwapHold'; +function lineTranslateAddress(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; lpszAddressIn:LPCWSTR; dwCard:DWORD; + dwTranslateOptions:DWORD; lpTranslateOutput:LPLINETRANSLATEOUTPUT):LONG;external KernelDLL name 'lineTranslateAddress'; +function lineTranslateDialog(hLineApp:HLINEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; hwndOwner:HWND; + lpszAddressIn:LPCWSTR):LONG;external KernelDLL name 'lineTranslateDialog'; { TAPI v1.4 } +function lineUnhold(hCall:HCALL):LONG;external KernelDLL name 'lineUnhold'; + +function phoneClose(hPhone:HPHONE):LONG;external KernelDLL name 'phoneClose'; +function phoneConfigDialog(dwDeviceID:DWORD; hwndOwner:HWND; lpszDeviceClass:LPCWSTR):LONG;external KernelDLL name 'phoneConfigDialog'; +function phoneDevSpecific(hPhone:HPHONE; lpParams:LPVOID; dwSize:DWORD):LONG;external KernelDLL name 'phoneDevSpecific'; +function phoneGetDevCaps(hPhoneApp:HPHONEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; dwExtVersion:DWORD; + lpPhoneCaps:LPPHONECAPS):LONG;external KernelDLL name 'phoneGetDevCaps'; +function phoneGetGain(hPhone:HPHONE; dwHookSwitchDev:DWORD; lpdwGain:LPDWORD):LONG;external KernelDLL name 'phoneGetGain'; +function phoneGetHookSwitch(hPhone:HPHONE; lpdwHookSwitchDevs:LPDWORD):LONG;external KernelDLL name 'phoneGetHookSwitch'; +function phoneGetIcon(dwDeviceID:DWORD; lpszDeviceClass:LPCWSTR; lphIcon:LPHICON):LONG;external KernelDLL name 'phoneGetIcon'; +function phoneGetID(hPhone:HPHONE; lpDeviceID:LPVARSTRING; lpszDeviceClass:LPCWSTR):LONG;external KernelDLL name 'phoneGetID'; +function phoneGetMessage(hPhoneApp:HPHONEAPP; lpMessage:LPPHONEMESSAGE; dwTimeout:DWORD):LONG;external KernelDLL name 'phoneGetMessage'; +function phoneGetRing(hPhone:HPHONE; lpdwRingMode:LPDWORD; lpdwVolume:LPDWORD):LONG;external KernelDLL name 'phoneGetRing'; +function phoneGetStatus(hPhone:HPHONE; lpPhoneStatus:LPPHONESTATUS):LONG;external KernelDLL name 'phoneGetStatus'; +function phoneGetStatusMessages(hPhone:HPHONE; lpdwPhoneStates:LPDWORD; lpdwButtonModes:LPDWORD; lpdwButtonStates:LPDWORD):LONG; + external KernelDLL name 'phoneGetStatusMessages'; +function phoneGetVolume(hPhone:HPHONE; dwHookSwitchDev:DWORD; lpdwVolume:LPDWORD):LONG;external KernelDLL name 'phoneGetVolume'; +function phoneInitializeEx(lphPhoneApp:LPHPHONEAPP; hInstance:HINST; lpfnCallback:PHONECALLBACK; lpszFriendlyAppName:LPCWSTR; + lpdwNumDevs:LPDWORD; lpdwAPIVersion:LPDWORD; lpPhoneInitializeExParams:LPPHONEINITIALIZEEXPARAMS):LONG; + external KernelDLL name 'phoneInitializeEx'; +function phoneNegotiateAPIVersion(hPhoneApp:HPHONEAPP; dwDeviceID:DWORD; dwAPILowVersion:DWORD; dwAPIHighVersion:DWORD; + lpdwAPIVersion:LPDWORD; lpExtensionID:LPPHONEEXTENSIONID):LONG;external KernelDLL name 'phoneNegotiateAPIVersion'; +function phoneNegotiateExtVersion(hPhoneApp:HPHONEAPP; dwDeviceID:DWORD; dwAPIVersion:DWORD; dwExtLowVersion:DWORD; + dwExtHighVersion:DWORD; lpdwExtVersion:LPDWORD):LONG;external KernelDLL name 'phoneNegotiateExtVersion'; +function phoneOpen(hPhoneApp:HPHONEAPP; dwDeviceID:DWORD; lphPhone:LPHPHONE; dwAPIVersion:DWORD; dwExtVersion:DWORD; + dwCallbackInstance:DWORD; dwPrivilege:DWORD):LONG;external KernelDLL name 'phoneOpen'; +function phoneSetGain(hPhone:HPHONE; dwHookSwitchDev:DWORD; dwGain:DWORD):LONG;external KernelDLL name 'phoneSetGain'; +function phoneSetHookSwitch(hPhone:HPHONE; dwHookSwitchDevs:DWORD; dwHookSwitchMode:DWORD):LONG; + external KernelDLL name 'phoneSetHookSwitch'; +function phoneSetRing(hPhone:HPHONE; dwRingMode:DWORD; dwVolume:DWORD):LONG;external KernelDLL name 'phoneSetRing'; +function phoneSetStatusMessages(hPhone:HPHONE; dwPhoneStates:DWORD; dwButtonModes:DWORD; dwButtonStates:DWORD):LONG; + external KernelDLL name 'phoneSetStatusMessages'; +function phoneSetVolume(hPhone:HPHONE; dwHookSwitchDev:DWORD; dwVolume:DWORD):LONG;external KernelDLL name 'phoneSetVolume'; +function phoneShutdown(hPhoneApp:HPHONEAPP):LONG;external KernelDLL name 'phoneShutdown'; + +function TAPIERROR_FORMATMESSAGE(const AErrCode: Longword): Longword; // C Macros conversion, may be wrong + +{$endif read_interface} + +{$ifdef read_implementation} + +function TAPIERROR_FORMATMESSAGE(const AErrCode: Longword): Longword; +begin + if AErrCode>$FFFF0000 then Exit(AErrCode and $0000FFFF); + if (AErrCode and $10000000)<>0 then Exit(AErrCode-$90000000+$F000); + Exit(AErrCode-$80000000+$E000); +end; + +{$endif read_implementation} -- cgit v1.2.1