ceshell.inc 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. {
  2. This file is part of the Free Pascal run time library.
  3. Copyright (c) 2006 Free Pascal development team.
  4. See the file COPYING.FPC, included in this distribution,
  5. for details about the copyright.
  6. This program is distributed in the hope that it will be useful,
  7. but WITHOUT ANY WARRANTY; without even the implied warranty of
  8. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  9. **********************************************************************}
  10. { Declarations for ceshell WinCE API
  11. }
  12. {exported functions list = to do,
  13. * please remove functions done *
  14. Exports
  15. ordinal name
  16. 49 ?DLL_SHGetSpecialFolderPath@@YAHPAUHWND__@@PAGHH@Z
  17. 4E ?PathIsRestrictedEx@@YAHPBGH@Z
  18. 16 ?SHRemoveFontResource@@YAHPAG@Z
  19. 17 ?_SHRemoveFontResource@@YAHPAG@Z
  20. C DLL_SHGetFileInfo
  21. 5 DoDragDrop
  22. 38 Host_CheckStack
  23. 3A Host_Exec
  24. 35 Host_FindBigDaddy
  25. 36 Host_MaxWindow
  26. 39 Host_MessageBox
  27. 37 Host_OpenPositionDB
  28. 3B Host_ShortcutGetArgs
  29. 3C Host_ShortcutRemoveArgs
  30. 34 Host_ShowFileError
  31. 42 ILConcatenate
  32. 43 ILCopy
  33. 41 ILFree
  34. 46 ILGetFileSystemPidlData
  35. 3D ILIsFileSystemPidl
  36. 3F ILIsGUIDPidl
  37. 3E ILIsNameSpacePidl
  38. 40 ILIsPidl
  39. 44 ILIsRemovableDevice
  40. 45 ILRealPathFromPidl
  41. 21 PathCompactPath
  42. 20 PathCompactSlashes
  43. 28 PathFileExists
  44. 1D PathFindExtension
  45. 1E PathFindFileName
  46. 2C PathGetArgs
  47. 23 PathGetAssociation
  48. 22 PathIsDirectory
  49. 24 PathIsExe
  50. 26 PathIsExtension
  51. 31 PathIsGUID
  52. 25 PathIsLink
  53. 32 PathIsRemovableDevice
  54. 33 PathIsRestricted
  55. 19 PathIsValidFileName
  56. 1A PathIsValidPath
  57. 27 PathMakePretty
  58. 30 PathMakeUniqueName
  59. 2F PathMatchSpec
  60. 2B PathRemoveArgs
  61. 1B PathRemoveBlanks
  62. 29 PathRemoveExtension
  63. 2A PathRemoveFileSpec
  64. 2E PathRemoveQuotes
  65. 2D PathRemoveQuotesAndArgs
  66. 1C PathRemoveTrailingSlashes
  67. 1F PathStripPath
  68. 6 RegisterDragDrop
  69. 7 RevokeDragDrop
  70. 12 SHAddToRecentDocs
  71. 4D SHCanonicalizePath
  72. 10 SHCreateShortcut
  73. 15 SHFlushCache
  74. 4A SHGetCEString
  75. 8 SHGetDesktopFolder
  76. 48 SHGetDocumentsFolder
  77. B SHGetMalloc
  78. 11 SHGetShortcutTarget
  79. 18 SHIsFileOperationRestricted
  80. 4C SHIsFileOperationRestrictedEx
  81. 47 SHIsRestrictedProcess
  82. F SHLoadDIBitmap
  83. E SHLoadDIBitmapBrush
  84. 13 SHRegQuerySZ
  85. 14 SHRegQuerySZEx
  86. 4 SHSetSystemEUDCFont
  87. 4B SHUnpackDirID
  88. 1 __IMPORT_DESCRIPTOR_CEShell
  89. 2 __NULL_IMPORT_DESCRIPTOR
  90. 49 __imp_?DLL_SHGetSpecialFolderPath@@YAHPAUHWND__@@PAGHH@Z
  91. 4E __imp_?PathIsRestrictedEx@@YAHPBGH@Z
  92. 16 __imp_?SHRemoveFontResource@@YAHPAG@Z
  93. 17 __imp_?_SHRemoveFontResource@@YAHPAG@Z
  94. C __imp_DLL_SHGetFileInfo
  95. 5 __imp_DoDragDrop
  96. 38 __imp_Host_CheckStack
  97. 3A __imp_Host_Exec
  98. 35 __imp_Host_FindBigDaddy
  99. 36 __imp_Host_MaxWindow
  100. 39 __imp_Host_MessageBox
  101. 37 __imp_Host_OpenPositionDB
  102. 3B __imp_Host_ShortcutGetArgs
  103. 3C __imp_Host_ShortcutRemoveArgs
  104. 34 __imp_Host_ShowFileError
  105. 42 __imp_ILConcatenate
  106. 43 __imp_ILCopy
  107. 41 __imp_ILFree
  108. 46 __imp_ILGetFileSystemPidlData
  109. 3D __imp_ILIsFileSystemPidl
  110. 3F __imp_ILIsGUIDPidl
  111. 3E __imp_ILIsNameSpacePidl
  112. 40 __imp_ILIsPidl
  113. 44 __imp_ILIsRemovableDevice
  114. 45 __imp_ILRealPathFromPidl
  115. 21 __imp_PathCompactPath
  116. 20 __imp_PathCompactSlashes
  117. 28 __imp_PathFileExists
  118. 1D __imp_PathFindExtension
  119. 1E __imp_PathFindFileName
  120. 2C __imp_PathGetArgs
  121. 23 __imp_PathGetAssociation
  122. 22 __imp_PathIsDirectory
  123. 24 __imp_PathIsExe
  124. 26 __imp_PathIsExtension
  125. 31 __imp_PathIsGUID
  126. 25 __imp_PathIsLink
  127. 32 __imp_PathIsRemovableDevice
  128. 33 __imp_PathIsRestricted
  129. 19 __imp_PathIsValidFileName
  130. 1A __imp_PathIsValidPath
  131. 27 __imp_PathMakePretty
  132. 30 __imp_PathMakeUniqueName
  133. 2F __imp_PathMatchSpec
  134. 2B __imp_PathRemoveArgs
  135. 1B __imp_PathRemoveBlanks
  136. 29 __imp_PathRemoveExtension
  137. 2A __imp_PathRemoveFileSpec
  138. 2E __imp_PathRemoveQuotes
  139. 2D __imp_PathRemoveQuotesAndArgs
  140. 1C __imp_PathRemoveTrailingSlashes
  141. 1F __imp_PathStripPath
  142. 6 __imp_RegisterDragDrop
  143. 7 __imp_RevokeDragDrop
  144. 12 __imp_SHAddToRecentDocs
  145. 4D __imp_SHCanonicalizePath
  146. 10 __imp_SHCreateShortcut
  147. 15 __imp_SHFlushCache
  148. 4A __imp_SHGetCEString
  149. 8 __imp_SHGetDesktopFolder
  150. 48 __imp_SHGetDocumentsFolder
  151. B __imp_SHGetMalloc
  152. 11 __imp_SHGetShortcutTarget
  153. 18 __imp_SHIsFileOperationRestricted
  154. 4C __imp_SHIsFileOperationRestrictedEx
  155. 47 __imp_SHIsRestrictedProcess
  156. F __imp_SHLoadDIBitmap
  157. E __imp_SHLoadDIBitmapBrush
  158. 13 __imp_SHRegQuerySZ
  159. 14 __imp_SHRegQuerySZEx
  160. 4 __imp_SHSetSystemEUDCFont
  161. 4B __imp_SHUnpackDirID
  162. 3 CEShell_NULL_THUNK_DATA
  163. }
  164. {$ifdef read_interface}
  165. //*****************************************************************************
  166. // consts
  167. //*****************************************************************************
  168. const
  169. ShellDLL = 'CEShell';
  170. FO_MOVE = $0001;
  171. FO_COPY = $0002;
  172. FO_DELETE = $0003;
  173. FO_RENAME = $0004;
  174. FOF_MULTIDESTFILES = $0001;
  175. FOF_CONFIRMMOUSE = $0002;
  176. FOF_SILENT = $0004; // don't create progress/report
  177. FOF_RENAMEONCOLLISION = $0008;
  178. FOF_NOCONFIRMATION = $0010; // Don't prompt the user.
  179. FOF_WANTMAPPINGHANDLE = $0020; // Fill in SHFILEOPSTRUCT.hNameMappings
  180. // Must be freed using SHFreeNameMappings
  181. FOF_ALLOWUNDO = $0040;
  182. FOF_FILESONLY = $0080; // on *.*, do only files
  183. FOF_SIMPLEPROGRESS = $0100; // means don't show names of files
  184. FOF_NOCONFIRMMKDIR = $0200; // don't confirm making any needed dirs
  185. //*****************************************************************************
  186. // types
  187. //*****************************************************************************
  188. type
  189. { IMalloc interface }
  190. IMalloc = interface(IUnknown)
  191. ['{00000002-0000-0000-C000-000000000046}']
  192. function Alloc(cb: Longint): Pointer;
  193. function Realloc(pv: Pointer; cb: Longint): Pointer;
  194. procedure Free(pv: Pointer);
  195. function GetSize(pv: Pointer): Longint;
  196. function DidAlloc(pv: Pointer): Integer;
  197. procedure HeapMinimize;
  198. end;
  199. LPMALLOC = ^IMalloc;
  200. PMALLOC = ^IMalloc;
  201. //*****************************************************************************
  202. // functions
  203. //*****************************************************************************
  204. function SHFileOperation(lpFileOp:LPSHFILEOPSTRUCTW): longint; external ShellDLL name 'SHFileOperationW';
  205. function SHFileOperationW(lpFileOp:LPSHFILEOPSTRUCTW): longint; external ShellDLL name 'SHFileOperationW';
  206. function SHGetPathFromIDList(_para1:LPCITEMIDLIST; _para2:LPTSTR):WINBOOL; external ShellDLL name 'SHGetPathFromIDList';
  207. function SHGetPathFromIDListW(_para1:LPCITEMIDLIST; _para2:LPTSTR):WINBOOL; external ShellDLL name 'SHGetPathFromIDList';
  208. function SHGetMalloc(var ppMalloc: LPMALLOC): HRESULT; external ShellDLL name 'SHGetMalloc';
  209. function SHGetSpecialFolderLocation(_para1:HWND; _para2:longint; var _para3:LPITEMIDLIST):HRESULT; external ShellDLL name 'SHGetSpecialFolderLocation';
  210. {$endif read_interface}
  211. {$ifdef read_implementation}
  212. {$endif read_implementation}