urlmon.pp 65 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087
  1. {$mode objfpc}
  2. {$h+}
  3. { urlmon.h translation.
  4. Original urlmon.h copyright:
  5. Microsoft Windows
  6. Copyright (c) Microsoft Corporation. All rights reserved.
  7. }
  8. {$IFNDEF FPC_DOTTEDUNITS}
  9. Unit urlmon;
  10. {$ENDIF FPC_DOTTEDUNITS}
  11. Interface
  12. {$IFDEF FPC_DOTTEDUNITS}
  13. Uses
  14. WinApi.Windows, WinApi.Activex;
  15. {$ELSE FPC_DOTTEDUNITS}
  16. Uses
  17. windows, activex;
  18. {$ENDIF FPC_DOTTEDUNITS}
  19. Const
  20. liburlmon = 'urlmon.dll';
  21. SZ_URLCONTEXT: POLEStr = 'URL Context';
  22. SZ_ASYNC_CALLEE: POLEStr = 'AsyncCallee';
  23. MKSYS_URLMONIKER = 6;
  24. IID_IAuthenticate : TGUID = '{79eac9d0-baf9-11ce-8c82-00aa004ba90b}';
  25. IID_IBindHost : TGUID = '{fc4801a1-2ba9-11cf-a229-00aa003d7352}';
  26. IID_IBinding : TGUID = '{79eac9c0-baf9-11ce-8c82-00aa004ba90b}';
  27. IID_IBindStatusCallback : TGUID = '{79eac9c1-baf9-11ce-8c82-00aa004ba90b}';
  28. IID_ICodeInstall : TGUID = '{79eac9d1-baf9-11ce-8c82-00aa004ba90b}';
  29. IID_IDataFilter : TGUID = '{69d14c80-c18e-11d0-a9ce-006097942311}';
  30. IID_IEncodingFilterFactory : TGUID = '{70bdde00-c18e-11d0-a9ce-006097942311}';
  31. IID_IHttpNegotiate : TGUID = '{79eac9d2-baf9-11ce-8c82-00aa004ba90b}';
  32. IID_IHttpSecurity : TGUID = '{79eac9d7-bafa-11ce-8c82-00aa004ba90b}';
  33. IID_IInternet : TGUID = '{79eac9e0-baf9-11ce-8c82-00aa004ba90b}';
  34. IID_IInternetBindInfo : TGUID = '{79eac9e1-baf9-11ce-8c82-00aa004ba90b}';
  35. IID_IInternetHostSecurityManager : TGUID = '{3af280b6-cb3f-11d0-891e-00c04fb6bfc4}';
  36. IID_IInternetPriority : TGUID = '{79eac9eb-baf9-11ce-8c82-00aa004ba90b}';
  37. IID_IInternetProtocol : TGUID = '{79eac9e4-baf9-11ce-8c82-00aa004ba90b}';
  38. IID_IInternetProtocolInfo : TGUID = '{79eac9ec-baf9-11ce-8c82-00aa004ba90b}';
  39. IID_IInternetProtocolRoot : TGUID = '{79eac9e3-baf9-11ce-8c82-00aa004ba90b}';
  40. IID_IInternetProtocolSink : TGUID = '{79eac9e5-baf9-11ce-8c82-00aa004ba90b}';
  41. IID_IInternetSecurityManager : TGUID = '{79eac9ee-baf9-11ce-8c82-00aa004ba90b}';
  42. IID_IInternetSecurityMgrSite : TGUID = '{79eac9ed-baf9-11ce-8c82-00aa004ba90b}';
  43. IID_IInternetSession : TGUID = '{79eac9e7-baf9-11ce-8c82-00aa004ba90b}';
  44. IID_IInternetThreadSwitch : TGUID = '{79eac9e8-baf9-11ce-8c82-00aa004ba90b}';
  45. IID_IInternetZoneManager : TGUID = '{79eac9ef-baf9-11ce-8c82-00aa004ba90b}';
  46. IID_IOInet : TGUID = '{79eac9e0-baf9-11ce-8c82-00aa004ba90b}';
  47. IID_IOInetBindInfo : TGUID = '{79eac9e1-baf9-11ce-8c82-00aa004ba90b}';
  48. IID_IOInetPriority : TGUID = '{79eac9eb-baf9-11ce-8c82-00aa004ba90b}';
  49. IID_IOInetProtocol : TGUID = '{79eac9e4-baf9-11ce-8c82-00aa004ba90b}';
  50. IID_IOInetProtocolInfo : TGUID = '{79eac9ec-baf9-11ce-8c82-00aa004ba90b}';
  51. IID_IOInetProtocolRoot : TGUID = '{79eac9e3-baf9-11ce-8c82-00aa004ba90b}';
  52. IID_IOInetProtocolSink : TGUID = '{79eac9e5-baf9-11ce-8c82-00aa004ba90b}';
  53. IID_IOInetSession : TGUID = '{79eac9e7-baf9-11ce-8c82-00aa004ba90b}';
  54. IID_IOInetThreadSwitch : TGUID = '{79eac9e8-baf9-11ce-8c82-00aa004ba90b}';
  55. IID_IPersistMoniker : TGUID = '{79eac9c9-baf9-11ce-8c82-00aa004ba90b}';
  56. IID_ISoftDistExt : TGUID = '{B15B8DC1-C7E1-11d0-8680-00AA00BDCB71}';
  57. IID_IWindowForBindingUI : TGUID = '{79eac9d5-bafa-11ce-8c82-00aa004ba90b}';
  58. IID_IWinInetHttpInfo : TGUID = '{79eac9d8-bafa-11ce-8c82-00aa004ba90b}';
  59. IID_IWinInetInfo : TGUID = '{79eac9d6-bafa-11ce-8c82-00aa004ba90b}';
  60. SID_IBindHost : TGUID = '{fc4801a1-2ba9-11cf-a229-00aa003d7352}';
  61. SID_IInternetHostSecurityManager : TGUID = '{3af280b6-cb3f-11d0-891e-00c04fb6bfc4}';
  62. SID_IInternetSecurityManager : TGUID = '{79eac9ee-baf9-11ce-8c82-00aa004ba90b}';
  63. SID_SBindHost : TGUID = '{fc4801a1-2ba9-11cf-a229-00aa003d7352}';
  64. URLMON_OPTION_USERAGENT = $10000001;
  65. URLMON_OPTION_USERAGENT_REFRESH = $10000002;
  66. CF_NULL = 0;
  67. CFSTR_MIME_NULL = 0;
  68. CFSTR_MIME_TEXT = 'text/plain';
  69. CFSTR_MIME_RICHTEXT = 'text/richtext';
  70. CFSTR_MIME_X_BITMAP = 'image/x-xbitmap';
  71. CFSTR_MIME_POSTSCRIPT = 'application/postscript';
  72. CFSTR_MIME_AIFF = 'audio/aiff';
  73. CFSTR_MIME_BASICAUDIO = 'audio/basic';
  74. CFSTR_MIME_WAV = 'audio/wav';
  75. CFSTR_MIME_X_WAV = 'audio/x-wav';
  76. CFSTR_MIME_GIF = 'image/gif';
  77. CFSTR_MIME_PJPEG = 'image/pjpeg';
  78. CFSTR_MIME_JPEG = 'image/jpeg';
  79. CFSTR_MIME_TIFF = 'image/tiff';
  80. CFSTR_MIME_X_PNG = 'image/x-png';
  81. CFSTR_MIME_BMP = 'image/bmp';
  82. CFSTR_MIME_X_ART = 'image/x-jg';
  83. CFSTR_MIME_X_EMF = 'image/x-emf';
  84. CFSTR_MIME_X_WMF = 'image/x-wmf';
  85. CFSTR_MIME_AVI = 'video/avi';
  86. CFSTR_MIME_MPEG = 'video/mpeg';
  87. CFSTR_MIME_FRACTALS = 'application/fractals';
  88. CFSTR_MIME_RAWDATA = 'application/octet-stream';
  89. CFSTR_MIME_RAWDATASTRM = 'application/octet-stream';
  90. CFSTR_MIME_PDF = 'application/pdf';
  91. CFSTR_MIME_X_AIFF = 'audio/x-aiff';
  92. CFSTR_MIME_X_REALAUDIO = 'audio/x-pn-realaudio';
  93. CFSTR_MIME_XBM = 'image/xbm';
  94. CFSTR_MIME_QUICKTIME = 'video/quicktime';
  95. CFSTR_MIME_X_MSVIDEO = 'video/x-msvideo';
  96. CFSTR_MIME_X_SGI_MOVIE = 'video/x-sgi-movie';
  97. CFSTR_MIME_HTML = 'text/html';
  98. MK_S_ASYNCHRONOUS = $000401E8;
  99. S_ASYNCHRONOUS = MK_S_ASYNCHRONOUS;
  100. E_PENDING = $8000000A;
  101. BINDVERB_GET = $00000000;
  102. BINDVERB_POST = $00000001;
  103. BINDVERB_PUT = $00000002;
  104. BINDVERB_CUSTOM = $00000003;
  105. BINDINFOF_URLENCODESTGMEDDATA = $00000001;
  106. BINDINFOF_URLENCODEDEXTRAINFO = $00000002;
  107. BINDF_ASYNCHRONOUS = $00000001;
  108. BINDF_ASYNCSTORAGE = $00000002;
  109. BINDF_NOPROGRESSIVERENDERING = $00000004;
  110. BINDF_OFFLINEOPERATION = $00000008;
  111. BINDF_GETNEWESTVERSION = $00000010;
  112. BINDF_NOWRITECACHE = $00000020;
  113. BINDF_NEEDFILE = $00000040;
  114. BINDF_PULLDATA = $00000080;
  115. BINDF_IGNORESECURITYPROBLEM = $00000100;
  116. BINDF_RESYNCHRONIZE = $00000200;
  117. BINDF_HYPERLINK = $00000400;
  118. BINDF_NO_UI = $00000800;
  119. BINDF_SILENTOPERATION = $00001000;
  120. BINDF_PRAGMA_NO_CACHE = $00002000;
  121. BINDF_FREE_THREADED = $00010000;
  122. BINDF_DIRECT_READ = $00020000;
  123. BINDF_FORMS_SUBMIT = $00040000;
  124. BINDF_GETFROMCACHE_IF_NET_FAIL = $00080000;
  125. BINDF_DONTUSECACHE = BINDF_GETNEWESTVERSION;
  126. BINDF_DONTPUTINCACHE = BINDF_NOWRITECACHE;
  127. BINDF_NOCOPYDATA = BINDF_PULLDATA;
  128. BSCF_FIRSTDATANOTIFICATION = $00000001;
  129. BSCF_INTERMEDIATEDATANOTIFICATION = $00000002;
  130. BSCF_LASTDATANOTIFICATION = $00000004;
  131. BSCF_DATAFULLYAVAILABLE = $00000008;
  132. BSCF_AVAILABLEDATASIZEUNKNOWN = $00000010;
  133. BINDSTATUS_FINDINGRESOURCE = 1;
  134. BINDSTATUS_CONNECTING = BINDSTATUS_FINDINGRESOURCE+1;
  135. BINDSTATUS_REDIRECTING = BINDSTATUS_CONNECTING+1;
  136. BINDSTATUS_BEGINDOWNLOADDATA = BINDSTATUS_REDIRECTING+1;
  137. BINDSTATUS_DOWNLOADINGDATA = BINDSTATUS_BEGINDOWNLOADDATA+1;
  138. BINDSTATUS_ENDDOWNLOADDATA = BINDSTATUS_DOWNLOADINGDATA+1;
  139. BINDSTATUS_BEGINDOWNLOADCOMPONENTS = BINDSTATUS_ENDDOWNLOADDATA+1;
  140. BINDSTATUS_INSTALLINGCOMPONENTS = BINDSTATUS_BEGINDOWNLOADCOMPONENTS+1;
  141. BINDSTATUS_ENDDOWNLOADCOMPONENTS = BINDSTATUS_INSTALLINGCOMPONENTS+1;
  142. BINDSTATUS_USINGCACHEDCOPY = BINDSTATUS_ENDDOWNLOADCOMPONENTS+1;
  143. BINDSTATUS_SENDINGREQUEST = BINDSTATUS_USINGCACHEDCOPY+1;
  144. BINDSTATUS_CLASSIDAVAILABLE = BINDSTATUS_SENDINGREQUEST+1;
  145. BINDSTATUS_MIMETYPEAVAILABLE = BINDSTATUS_CLASSIDAVAILABLE+1;
  146. BINDSTATUS_CACHEFILENAMEAVAILABLE = BINDSTATUS_MIMETYPEAVAILABLE+1;
  147. BINDSTATUS_BEGINSYNCOPERATION = BINDSTATUS_CACHEFILENAMEAVAILABLE+1;
  148. BINDSTATUS_ENDSYNCOPERATION = BINDSTATUS_BEGINSYNCOPERATION+1;
  149. BINDSTATUS_BEGINUPLOADDATA = BINDSTATUS_ENDSYNCOPERATION+1;
  150. BINDSTATUS_UPLOADINGDATA = BINDSTATUS_BEGINUPLOADDATA+1;
  151. BINDSTATUS_ENDUPLOADDATA = BINDSTATUS_UPLOADINGDATA+1;
  152. BINDSTATUS_PROTOCOLCLASSID = BINDSTATUS_ENDUPLOADDATA+1;
  153. BINDSTATUS_ENCODING = BINDSTATUS_PROTOCOLCLASSID+1;
  154. BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE = BINDSTATUS_ENCODING+1;
  155. BINDSTATUS_CLASSINSTALLLOCATION = BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE+1;
  156. BINDSTATUS_DECODING = BINDSTATUS_CLASSINSTALLLOCATION+1;
  157. BINDSTATUS_LOADINGMIMEHANDLER = BINDSTATUS_DECODING+1;
  158. BINDSTATUS_CONTENTDISPOSITIONATTACH = BINDSTATUS_LOADINGMIMEHANDLER+1;
  159. BINDSTATUS_FILTERREPORTMIMETYPE = BINDSTATUS_CONTENTDISPOSITIONATTACH+1;
  160. BINDSTATUS_CLSIDCANINSTANTIATE = BINDSTATUS_FILTERREPORTMIMETYPE+1;
  161. BINDSTATUS_IUNKNOWNAVAILABLE = BINDSTATUS_CLSIDCANINSTANTIATE+1;
  162. BINDSTATUS_DIRECTBIND = BINDSTATUS_IUNKNOWNAVAILABLE+1;
  163. BINDSTATUS_RAWMIMETYPE = BINDSTATUS_DIRECTBIND+1;
  164. BINDSTATUS_PROXYDETECTING = BINDSTATUS_RAWMIMETYPE+1;
  165. BINDSTATUS_ACCEPTRANGES = BINDSTATUS_PROXYDETECTING+1;
  166. BINDSTATUS_COOKIE_SENT = BINDSTATUS_ACCEPTRANGES+1;
  167. BINDSTATUS_COMPACT_POLICY_RECEIVED = BINDSTATUS_COOKIE_SENT+1;
  168. BINDSTATUS_COOKIE_SUPPRESSED = BINDSTATUS_COMPACT_POLICY_RECEIVED+1;
  169. BINDSTATUS_COOKIE_STATE_UNKNOWN = BINDSTATUS_COOKIE_SUPPRESSED+1;
  170. BINDSTATUS_COOKIE_STATE_ACCEPT = BINDSTATUS_COOKIE_STATE_UNKNOWN+1;
  171. BINDSTATUS_COOKIE_STATE_REJECT = BINDSTATUS_COOKIE_STATE_ACCEPT+1;
  172. BINDSTATUS_COOKIE_STATE_PROMPT = BINDSTATUS_COOKIE_STATE_REJECT+1;
  173. BINDSTATUS_COOKIE_STATE_LEASH = BINDSTATUS_COOKIE_STATE_PROMPT+1;
  174. BINDSTATUS_COOKIE_STATE_DOWNGRADE = BINDSTATUS_COOKIE_STATE_LEASH+1;
  175. BINDSTATUS_POLICY_HREF = BINDSTATUS_COOKIE_STATE_DOWNGRADE+1;
  176. BINDSTATUS_P3P_HEADER = BINDSTATUS_POLICY_HREF+1;
  177. BINDSTATUS_SESSION_COOKIE_RECEIVED = BINDSTATUS_P3P_HEADER+1;
  178. BINDSTATUS_PERSISTENT_COOKIE_RECEIVED = BINDSTATUS_SESSION_COOKIE_RECEIVED+1;
  179. BINDSTATUS_SESSION_COOKIES_ALLOWED = BINDSTATUS_PERSISTENT_COOKIE_RECEIVED+1;
  180. BINDSTRING_HEADERS = 1;
  181. BINDSTRING_ACCEPT_MIMES = BINDSTRING_HEADERS+1;
  182. BINDSTRING_EXTRA_URL = BINDSTRING_ACCEPT_MIMES+1;
  183. BINDSTRING_LANGUAGE = BINDSTRING_EXTRA_URL+1;
  184. BINDSTRING_USERNAME = BINDSTRING_LANGUAGE+1;
  185. BINDSTRING_PASSWORD = BINDSTRING_USERNAME+1;
  186. BINDSTRING_UA_PIXELS = BINDSTRING_PASSWORD+1;
  187. BINDSTRING_UA_COLOR = BINDSTRING_UA_PIXELS+1;
  188. BINDSTRING_OS = BINDSTRING_UA_COLOR+1;
  189. BINDSTRING_USER_AGENT = BINDSTRING_OS+1;
  190. BINDSTRING_ACCEPT_ENCODINGS = BINDSTRING_USER_AGENT+1;
  191. BINDSTRING_POST_COOKIE = BINDSTRING_ACCEPT_ENCODINGS+1;
  192. BINDSTRING_POST_DATA_MIME = BINDSTRING_POST_COOKIE+1;
  193. BINDSTRING_URL = BINDSTRING_POST_DATA_MIME+1;
  194. INET_E_INVALID_URL = HResult($800C0002);
  195. INET_E_NO_SESSION = HResult($800C0003);
  196. INET_E_CANNOT_CONNECT = HResult($800C0004);
  197. INET_E_RESOURCE_NOT_FOUND = HResult($800C0005);
  198. INET_E_OBJECT_NOT_FOUND = HResult($800C0006);
  199. INET_E_DATA_NOT_AVAILABLE = HResult($800C0007);
  200. INET_E_DOWNLOAD_FAILURE = HResult($800C0008);
  201. INET_E_AUTHENTICATION_REQUIRED = HResult($800C0009);
  202. INET_E_NO_VALID_MEDIA = HResult($800C000A);
  203. INET_E_CONNECTION_TIMEOUT = HResult($800C000B);
  204. INET_E_INVALID_REQUEST = HResult($800C000C);
  205. INET_E_UNKNOWN_PROTOCOL = HResult($800C000D);
  206. INET_E_SECURITY_PROBLEM = HResult($800C000E);
  207. INET_E_CANNOT_LOAD_DATA = HResult($800C000F);
  208. INET_E_CANNOT_INSTANTIATE_OBJECT = HResult($800C0010);
  209. INET_E_REDIRECT_FAILED = HResult($800C0014);
  210. INET_E_REDIRECT_TO_DIR = HResult($800C0015);
  211. INET_E_CANNOT_LOCK_REQUEST = HResult($800C0016);
  212. INET_E_ERROR_FIRST = HResult($800C0002);
  213. INET_E_ERROR_LAST = INET_E_REDIRECT_TO_DIR;
  214. CIP_DISK_FULL = 0;
  215. CIP_ACCESS_DENIED = CIP_DISK_FULL+1;
  216. CIP_NEWER_VERSION_EXISTS = CIP_ACCESS_DENIED+1;
  217. CIP_OLDER_VERSION_EXISTS = CIP_NEWER_VERSION_EXISTS+1;
  218. CIP_NAME_CONFLICT = CIP_OLDER_VERSION_EXISTS+1;
  219. CIP_TRUST_VERIFICATION_COMPONENT_MISSING = CIP_NAME_CONFLICT+1;
  220. CIP_EXE_SELF_REGISTERATION_TIMEOUT = CIP_TRUST_VERIFICATION_COMPONENT_MISSING+1;
  221. CIP_UNSAFE_TO_ABORT = CIP_EXE_SELF_REGISTERATION_TIMEOUT+1;
  222. CIP_NEED_REBOOT = CIP_UNSAFE_TO_ABORT+1;
  223. URLOSTRM_USECACHEDCOPY_ONLY = $00000001;
  224. URLOSTRM_USECACHEDCOPY = $00000002;
  225. URLOSTRM_GETNEWESTVERSION = $00000003;
  226. WININETINFO_OPTION_LOCK_HANDLE = 65534;
  227. PI_PARSE_URL = $00000001;
  228. PI_FILTER_MODE = $00000002;
  229. PI_FORCE_ASYNC = $00000004;
  230. PI_USE_WORKERTHREAD = $00000008;
  231. PI_MIMEVERIFICATION = $00000010;
  232. PI_CLSIDLOOKUP = $00000020;
  233. PI_DATAPROGRESS = $00000040;
  234. PI_SYNCHRONOUS = $00000080;
  235. PI_APARTMENTTHREADED = $00000100;
  236. PI_CLASSINSTALL = $00000200;
  237. PD_FORCE_SWITCH = $00010000;
  238. PI_DOCFILECLSIDLOOKUP = PI_CLSIDLOOKUP;
  239. OIBDG_APARTMENTTHREADED = $00000100;
  240. PARSE_CANONICALIZE = 1;
  241. PARSE_FRIENDLY = PARSE_CANONICALIZE+1;
  242. PARSE_SECURITY_URL = PARSE_FRIENDLY+1;
  243. PARSE_ROOTDOCUMENT = PARSE_SECURITY_URL+1;
  244. PARSE_DOCUMENT = PARSE_ROOTDOCUMENT+1;
  245. PARSE_ANCHOR = PARSE_DOCUMENT+1;
  246. PARSE_ENCODE = PARSE_ANCHOR+1;
  247. PARSE_DECODE = PARSE_ENCODE+1;
  248. PARSE_PATH_FROM_URL = PARSE_DECODE+1;
  249. PARSE_URL_FROM_PATH = PARSE_PATH_FROM_URL+1;
  250. PARSE_MIME = PARSE_URL_FROM_PATH+1;
  251. PARSE_SERVER = PARSE_MIME+1;
  252. PARSE_SCHEMA = PARSE_SERVER+1;
  253. PARSE_SITE = PARSE_SCHEMA+1;
  254. PARSE_DOMAIN = PARSE_SITE+1;
  255. PARSE_LOCATION = PARSE_DOMAIN+1;
  256. PARSE_SECURITY_DOMAIN = PARSE_LOCATION+1;
  257. PSU_DEFAULT = 1;
  258. PSU_SECURITY_URL_ONLY = PSU_DEFAULT+1;
  259. QUERY_EXPIRATION_DATE = 1;
  260. QUERY_TIME_OF_LAST_CHANGE = QUERY_EXPIRATION_DATE+1;
  261. QUERY_CONTENT_ENCODING = QUERY_TIME_OF_LAST_CHANGE+1;
  262. QUERY_CONTENT_TYPE = QUERY_CONTENT_ENCODING+1;
  263. QUERY_REFRESH = QUERY_CONTENT_TYPE+1;
  264. QUERY_RECOMBINE = QUERY_REFRESH+1;
  265. QUERY_CAN_NAVIGATE = QUERY_RECOMBINE+1;
  266. QUERY_USES_NETWORK = QUERY_CAN_NAVIGATE+1;
  267. QUERY_IS_CACHED = QUERY_USES_NETWORK+1;
  268. QUERY_IS_INSTALLEDENTRY = QUERY_IS_CACHED+1;
  269. QUERY_IS_CACHED_OR_MAPPED = QUERY_IS_INSTALLEDENTRY+1;
  270. QUERY_USES_CACHE = QUERY_IS_CACHED_OR_MAPPED+1;
  271. INET_E_USE_DEFAULT_PROTOCOLHANDLER = HResult($800C0011);
  272. INET_E_USE_DEFAULT_SETTING = HResult($800C0012);
  273. INET_E_DEFAULT_ACTION = HResult($800C0011);
  274. INET_E_QUERYOPTION_UNKNOWN = HResult($800C0013);
  275. INET_E_REDIRECTING = HResult($800C0014);
  276. PROTOCOLFLAG_NO_PICS_CHECK = $00000001;
  277. URLACTION_MIN = $00001000;
  278. URLACTION_DOWNLOAD_MIN = $00001000;
  279. URLACTION_DOWNLOAD_SIGNED_ACTIVEX = $00001001;
  280. URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX = $00001004;
  281. URLACTION_DOWNLOAD_CURR_MAX = $00001004;
  282. URLACTION_DOWNLOAD_MAX = $000011FF;
  283. URLACTION_ACTIVEX_MIN = $00001200;
  284. URLACTION_ACTIVEX_RUN = $00001200;
  285. URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY = $00001201;
  286. URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY = $00001202;
  287. URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY = $00001203;
  288. URLACTION_SCRIPT_OVERRIDE_SAFETY = $00001401;
  289. URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY = $00001204;
  290. URLACTION_ACTIVEX_TREATASUNTRUSTED = $00001205;
  291. URLACTION_ACTIVEX_CURR_MAX = $00001205;
  292. URLACTION_ACTIVEX_MAX = $000013FF;
  293. URLACTION_SCRIPT_MIN = $00001400;
  294. URLACTION_SCRIPT_RUN = $00001400;
  295. URLACTION_SCRIPT_JAVA_USE = $00001402;
  296. URLACTION_SCRIPT_SAFE_ACTIVEX = $00001405;
  297. URLACTION_SCRIPT_CURR_MAX = $00001405;
  298. URLACTION_SCRIPT_MAX = $000015FF;
  299. URLACTION_HTML_MIN = $00001600;
  300. URLACTION_HTML_SUBMIT_FORMS = $00001601;
  301. URLACTION_HTML_SUBMIT_FORMS_FROM = $00001602;
  302. URLACTION_HTML_SUBMIT_FORMS_TO = $00001603;
  303. URLACTION_HTML_FONT_DOWNLOAD = $00001604;
  304. URLACTION_HTML_JAVA_RUN = $00001605;
  305. URLACTION_HTML_CURR_MAX = $00001605;
  306. URLACTION_HTML_MAX = $000017FF;
  307. URLACTION_SHELL_MIN = $00001800;
  308. URLACTION_SHELL_INSTALL_DTITEMS = $00001800;
  309. URLACTION_SHELL_MOVE_OR_COPY = $00001802;
  310. URLACTION_SHELL_FILE_DOWNLOAD = $00001803;
  311. URLACTION_SHELL_VERB = $00001804;
  312. URLACTION_SHELL_WEBVIEW_VERB = $00001805;
  313. URLACTION_SHELL_CURR_MAX = $00001805;
  314. URLACTION_SHELL_MAX = $000019ff;
  315. URLACTION_NETWORK_MIN = $00001A00;
  316. URLACTION_CREDENTIALS_USE = $00001A00;
  317. URLPOLICY_CREDENTIALS_SILENT_LOGON_OK = $00000000;
  318. URLPOLICY_CREDENTIALS_MUST_PROMPT_USER = $00010000;
  319. URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT = $00020000;
  320. URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY = $00030000;
  321. URLACTION_AUTHENTICATE_CLIENT = $00001A01;
  322. URLPOLICY_AUTHENTICATE_CLEARTEXT_OK = $00000000;
  323. URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE = $00010000;
  324. URLPOLICY_AUTHENTICATE_MUTUAL_ONLY = $00030000;
  325. URLACTION_NETWORK_CURR_MAX = $00001A01;
  326. URLACTION_NETWORK_MAX = $00001BFF;
  327. URLACTION_JAVA_MIN = $00001C00;
  328. URLACTION_JAVA_PERMISSIONS = $00001C00;
  329. URLPOLICY_JAVA_PROHIBIT = $00000000;
  330. URLPOLICY_JAVA_HIGH = $00010000;
  331. URLPOLICY_JAVA_MEDIUM = $00020000;
  332. URLPOLICY_JAVA_LOW = $00030000;
  333. URLPOLICY_JAVA_CUSTOM = $00800000;
  334. URLACTION_JAVA_CURR_MAX = $00001C00;
  335. URLACTION_JAVA_MAX = $00001CFF;
  336. URLACTION_INFODELIVERY_MIN = $00001D00;
  337. URLACTION_INFODELIVERY_NO_ADDING_CHANNELS = $00001D00;
  338. URLACTION_INFODELIVERY_NO_EDITING_CHANNELS = $00001D01;
  339. URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS = $00001D02;
  340. URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS = $00001D03;
  341. URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS = $00001D04;
  342. URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS = $00001D05;
  343. URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING = $00001D06;
  344. URLACTION_INFODELIVERY_CURR_MAX = $00001D06;
  345. URLACTION_INFODELIVERY_MAX = $00001Dff;
  346. URLACTION_CHANNEL_SOFTDIST_MIN = $00001E00;
  347. URLACTION_CHANNEL_SOFTDIST_PERMISSIONS = $00001E05;
  348. URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT = $00010000;
  349. URLPOLICY_CHANNEL_SOFTDIST_PRECACHE = $00020000;
  350. URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL = $00030000;
  351. URLACTION_CHANNEL_SOFTDIST_MAX = $00001EFF;
  352. URLPOLICY_ALLOW = $00;
  353. URLPOLICY_QUERY = $01;
  354. URLPOLICY_DISALLOW = $03;
  355. URLPOLICY_NOTIFY_ON_ALLOW = $10;
  356. URLPOLICY_NOTIFY_ON_DISALLOW = $20;
  357. URLPOLICY_LOG_ON_ALLOW = $40;
  358. URLPOLICY_LOG_ON_DISALLOW = $80;
  359. URLPOLICY_MASK_PERMISSIONS = $0f;
  360. MAX_SIZE_SECURITY_ID = 512;
  361. PUAF_DEFAULT = $00000000;
  362. PUAF_NOUI = $00000001;
  363. PUAF_ISFILE = $00000002;
  364. PUAF_WARN_IF_DENIED = $00000004;
  365. PUAF_FORCEUI_FOREGROUND = $00000008;
  366. PUAF_CHECK_TIFS = $00000010;
  367. SZM_CREATE = $00000000;
  368. SZM_DELETE = $00000001;
  369. URLZONE_PREDEFINED_MIN = 0;
  370. URLZONE_LOCAL_MACHINE = 0;
  371. URLZONE_INTRANET = URLZONE_LOCAL_MACHINE+1;
  372. URLZONE_TRUSTED = URLZONE_INTRANET+1;
  373. URLZONE_INTERNET = URLZONE_TRUSTED+1;
  374. URLZONE_UNTRUSTED = URLZONE_INTERNET+1;
  375. URLZONE_PREDEFINED_MAX = 999;
  376. URLZONE_USER_MIN = 1000;
  377. URLZONE_USER_MAX = 10000;
  378. URLZONEREG_DEFAULT = 0;
  379. URLZONEREG_HKLM = URLZONEREG_DEFAULT+1;
  380. URLZONEREG_HKCU = URLZONEREG_HKLM+1;
  381. URLTEMPLATE_CUSTOM = $00000000;
  382. URLTEMPLATE_PREDEFINED_MIN = $00010000;
  383. URLTEMPLATE_LOW = $00010000;
  384. URLTEMPLATE_MEDIUM = $00011000;
  385. URLTEMPLATE_HIGH = $00012000;
  386. URLTEMPLATE_PREDEFINED_MAX = $00020000;
  387. MAX_ZONE_PATH = 260;
  388. MAX_ZONE_DESCRIPTION = 200;
  389. ZAFLAGS_CUSTOM_EDIT = $00000001;
  390. ZAFLAGS_ADD_SITES = $00000002;
  391. ZAFLAGS_REQUIRE_VERIFICATION = $00000004;
  392. ZAFLAGS_INCLUDE_PROXY_OVERRIDE = $00000008;
  393. ZAFLAGS_INCLUDE_INTRANET_SITES = $00000010;
  394. ZAFLAGS_NO_UI = $00000020;
  395. ZAFLAGS_SUPPORTS_VERIFICATION = $00000040;
  396. ZAFLAGS_UNC_AS_INTRANET = $00000080;
  397. SOFTDIST_FLAG_USAGE_EMAIL = $00000001;
  398. SOFTDIST_FLAG_USAGE_PRECACHE = $00000002;
  399. SOFTDIST_FLAG_USAGE_AUTOINSTALL = $00000004;
  400. SOFTDIST_FLAG_DELETE_SUBSCRIPTION = $00000008;
  401. SOFTDIST_ADSTATE_NONE = $00000000;
  402. SOFTDIST_ADSTATE_AVAILABLE = $00000001;
  403. SOFTDIST_ADSTATE_DOWNLOADED = $00000002;
  404. SOFTDIST_ADSTATE_INSTALLED = $00000003;
  405. Type
  406. PHWnd = ^HWND;
  407. PIunknown = ^IUnknown;
  408. PIEnumString = ^IENumString;
  409. PStgMedium = ^TStgMedium;
  410. TUrlZoneReg = Cardinal;
  411. TParseAction = Cardinal;
  412. TQueryOption = Cardinal;
  413. TPSUAction = Cardinal;
  414. PLPCWSTR = ^LPCWSTR;
  415. PPOLEStr = ^POLEStr;
  416. PIBindCtx = ^IBindCtx;
  417. PIEnumFormatEtc = ^IEnumFormatEtc;
  418. PIstream = ^IStream;
  419. // Forward declarations
  420. IInternetProtocolSink = Interface;
  421. IBinding = interface;
  422. IInternetProtocol = interface;
  423. TBINDINFO = packed record
  424. cbSize : ULONG;
  425. szExtraInfo : LPWSTR;
  426. stgmedData : TStgMedium;
  427. grfBindInfoF : DWORD;
  428. dwBindVerb : DWORD;
  429. szCustomVerb : LPWSTR;
  430. cbstgmedData : DWORD;
  431. dwOptions : DWORD;
  432. dwOptionsFlags : DWORD;
  433. dwCodePage : DWORD;
  434. securityAttributes : SECURITY_ATTRIBUTES;
  435. iid : TGUID;
  436. pUnk : IUnknown;
  437. dwReserved : DWORD;
  438. end;
  439. BINDINFO = TBINDINFO;
  440. PBINDINFO = ^TBINDINFO;
  441. TREMSECURITY_ATTRIBUTES = packed record
  442. nLength : DWORD;
  443. lpSecurityDescriptor : DWORD;
  444. bInheritHandle : BOOL;
  445. end;
  446. REMSECURITY_ATTRIBUTES = TREMSECURITY_ATTRIBUTES;
  447. PREMSECURITY_ATTRIBUTES = ^TREMSECURITY_ATTRIBUTES;
  448. TRemBINDINFO = packed record
  449. cbSize : ULONG;
  450. szExtraInfo : LPWSTR;
  451. grfBindInfoF : DWORD;
  452. dwBindVerb : DWORD;
  453. szCustomVerb : LPWSTR;
  454. cbstgmedData : DWORD;
  455. dwOptions : DWORD;
  456. dwOptionsFlags : DWORD;
  457. dwCodePage : DWORD;
  458. securityAttributes : TREMSECURITY_ATTRIBUTES;
  459. iid : TGUID;
  460. pUnk : IUnknown;
  461. dwReserved : DWORD;
  462. end;
  463. PRemBINDINFO = ^TRemBINDINFO;
  464. RemBINDINFO = TRemBINDINFO;
  465. TRemFORMATETC = packed record
  466. cfFormat : DWORD;
  467. ptd : DWORD;
  468. dwAspect : DWORD;
  469. lindex : Longint;
  470. tymed : DWORD;
  471. end;
  472. RemFORMATETC = TRemFORMATETC;
  473. PRemFORMATETC = ^TRemFORMATETC;
  474. TPROTOCOLDATA = packed record
  475. grfFlags : DWORD;
  476. dwState : DWORD;
  477. pData : Pointer;
  478. cbData : ULONG;
  479. end;
  480. PROTOCOLDATA = TPROTOCOLDATA;
  481. PPROTOCOLDATA = ^PROTOCOLDATA;
  482. TZONEATTRIBUTES = packed record
  483. cbSize : ULONG;
  484. szDisplayName : array [0..259] of WideChar;
  485. szDescription : array [0..199] of WideChar;
  486. szIconPath : array [0..259] of WideChar;
  487. dwTemplateMinLevel : DWORD;
  488. dwTemplateRecommended : DWORD;
  489. dwTemplateCurrentLevel : DWORD;
  490. dwFlags : DWORD;
  491. end;
  492. ZONEATTRIBUTES = TZONEATTRIBUTES;
  493. PZONEATTRIBUTES = ^TZONEATTRIBUTES;
  494. TCODEBASEHOLD = packed record
  495. cbSize : ULONG;
  496. szDistUnit : LPWSTR;
  497. szCodeBase : LPWSTR;
  498. dwVersionMS : DWORD;
  499. dwVersionLS : DWORD;
  500. dwStyle : DWORD;
  501. end;
  502. CODEBASEHOLD = TCODEBASEHOLD;
  503. PCODEBASEHOLD = ^TCODEBASEHOLD;
  504. TSOFTDISTINFO = packed record
  505. cbSize : ULONG;
  506. dwFlags : DWORD;
  507. dwAdState : DWORD;
  508. szTitle : LPWSTR;
  509. szAbstract : LPWSTR;
  510. szHREF : LPWSTR;
  511. dwInstalledVersionMS : DWORD;
  512. dwInstalledVersionLS : DWORD;
  513. dwUpdateVersionMS : DWORD;
  514. dwUpdateVersionLS : DWORD;
  515. dwAdvertisedVersionMS : DWORD;
  516. dwAdvertisedVersionLS : DWORD;
  517. dwReserved : DWORD;
  518. end;
  519. SOFTDISTINFO = TSOFTDISTINFO;
  520. PSOFTDISTINFO = ^TSOFTDISTINFO;
  521. TPROTOCOLFILTERDATA = packed record
  522. cbSize : DWORD;
  523. ProtocolSink : IInternetProtocolSink;
  524. Protocol : IInternetProtocol;
  525. Unk : IUnknown;
  526. dwFilterFlags : DWORD;
  527. end;
  528. PROTOCOLFILTERDATA = TPROTOCOLFILTERDATA;
  529. PPROTOCOLFILTERDATA = ^TPROTOCOLFILTERDATA;
  530. TDATAINFO = packed record
  531. ulTotalSize : ULONG;
  532. ulavrPacketSize : ULONG;
  533. ulConnectSpeed : ULONG;
  534. ulProcessorSpeed : ULONG;
  535. end;
  536. DATAINFO = TDATAINFO;
  537. PDATAINFO = ^TDATAINFO;
  538. THIT_LOGGING_INFO = packed record
  539. dwStructSize : DWORD;
  540. lpszLoggedUrlName : LPSTR;
  541. StartTime : TSystemTime;
  542. EndTime : TSystemTime;
  543. lpszExtendedInfo : LPSTR;
  544. end;
  545. HIT_LOGGING_INFO = THIT_LOGGING_INFO;
  546. PHIT_LOGGING_INFO = ^THIT_LOGGING_INFO;
  547. IPersistMonikerRaw = interface['{79eac9c9-baf9-11ce-8c82-00aa004ba90b}']
  548. Function GetClassID(ClassID : PCLSID) : HResult; stdcall;
  549. Function IsDirty : HResult; stdcall;
  550. Function Load(fFullyAvailable : BOOL; pimkName : IMoniker; pibc : IBindCtx; grfMode : DWORD) : HResult; stdcall;
  551. Function Save(pimkName : IMoniker; pbc : IBindCtx; fRemember : BOOL) : HResult; stdcall;
  552. Function SaveCompleted(pimkName : IMoniker; pibc : IBindCtx) : HResult; stdcall;
  553. Function GetCurMoniker(ppimkName : IMoniker) : HResult; stdcall;
  554. end;
  555. PIPersistMonikerRaw = ^IPersistMonikerRaw;
  556. IPersistMoniker = interface['{79eac9c9-baf9-11ce-8c82-00aa004ba90b}']
  557. Function GetClassID(out ClassID : TCLSID) : HResult; stdcall;
  558. Function IsDirty : HResult; stdcall;
  559. Function Load(fFullyAvailable : BOOL; pimkName : IMoniker; pibc : IBindCtx; grfMode : DWORD) : HResult; stdcall;
  560. Function Save(pimkName : IMoniker; pbc : IBindCtx; fRemember : BOOL) : HResult; stdcall;
  561. Function SaveCompleted(pimkName : IMoniker; pibc : IBindCtx) : HResult; stdcall;
  562. Function GetCurMoniker(ppimkName : IMoniker) : HResult; stdcall;
  563. end;
  564. PIPersistMoniker = ^IPersistMoniker;
  565. IBindingRaw = interface ['{79eac9c0-baf9-11ce-8c82-00aa004ba90b}']
  566. Function Abort : HResult; stdcall;
  567. Function Suspend : HResult; stdcall;
  568. Function Resume : HResult; stdcall;
  569. Function SetPriority(nPriority : Longint) : HResult; stdcall;
  570. Function GetPriority(nPriority : PLongint) : HResult; stdcall;
  571. Function GetBindResult(clsidProtocol : PCLSID; dwResult : PDWORD; szResult : PPOLEStr; dwReserved : DWORD) : HResult; stdcall;
  572. end;
  573. PIBindingRaw = ^IBindingRaw;
  574. IBinding = interface ['{79eac9c0-baf9-11ce-8c82-00aa004ba90b}']
  575. Function Abort : HResult; stdcall;
  576. Function Suspend : HResult; stdcall;
  577. Function Resume : HResult; stdcall;
  578. Function SetPriority(nPriority : Longint) : HResult; stdcall;
  579. Function GetPriority(out nPriority : Longint) : HResult; stdcall;
  580. Function GetBindResult(out clsidProtocol : TCLSID; out dwResult : DWORD; out szResult : POLEStr; dwReserved : DWORD) : HResult; stdcall;
  581. end;
  582. PIBinding = ^IBinding;
  583. IBindProtocolRaw = interface['{79eac9cd-baf9-11ce-8c82-00aa004ba90b}']
  584. Function CreateBinding(szUrl : LPCWSTR; pbc : IBindCtx; ppb : PIBindingRaw) : HResult; stdcall;
  585. end;
  586. PIBindProtocolRaw = ^IBindProtocolRaw;
  587. IBindProtocol = interface['{79eac9cd-baf9-11ce-8c82-00aa004ba90b}']
  588. Function CreateBinding(szUrl : LPCWSTR; pbc : IBindCtx; out ppb : IBinding) : HResult; stdcall;
  589. end;
  590. PIBindProtocol = ^IBindProtocol;
  591. IBindStatusCallbackRaw = interface['{79eac9c1-baf9-11ce-8c82-00aa004ba90b}']
  592. Function OnStartBinding(dwReserved : DWORD; pib : IBindingRaw) : HResult; stdcall;
  593. Function GetPriority(nPriority : Pointer) : HResult; stdcall;
  594. Function OnLowResource(reserved : DWORD) : HResult; stdcall;
  595. Function OnProgress(ulProgress, ulProgressMax, ulStatusCode : ULONG; szStatusText : LPCWSTR) : HResult; stdcall;
  596. Function OnStopBinding(hresult : HResult; szError : LPCWSTR) : HResult; stdcall;
  597. Function GetBindInfo(grfBINDF : PDWORD; bindinfo : PBINDINFO) : HResult; stdcall;
  598. Function OnDataAvailable(grfBSCF : DWORD; dwSize : DWORD; formatetc : PFormatEtc; stgmed : PStgMedium) : HResult; stdcall;
  599. Function OnObjectAvailable(const iid : TGUID; punk : IUnknown) : HResult; stdcall;
  600. end;
  601. PIBindStatusCallbackRaw = ^IBindStatusCallbackRaw;
  602. IBindStatusCallback = interface['{79eac9c1-baf9-11ce-8c82-00aa004ba90b}']
  603. Function OnStartBinding(dwReserved : DWORD; pib : IBinding) : HResult; stdcall;
  604. Function GetPriority(out nPriority) : HResult; stdcall;
  605. Function OnLowResource(reserved : DWORD) : HResult; stdcall;
  606. Function OnProgress(ulProgress, ulProgressMax, ulStatusCode : ULONG; szStatusText : LPCWSTR) : HResult; stdcall;
  607. Function OnStopBinding(hresult : HResult; szError : LPCWSTR) : HResult; stdcall;
  608. Function GetBindInfo(out grfBINDF : DWORD; var bindinfo : TBindInfo) : HResult; stdcall;
  609. Function OnDataAvailable(grfBSCF : DWORD; dwSize : DWORD; formatetc : PFormatEtc; stgmed : PStgMedium) : HResult; stdcall;
  610. Function OnObjectAvailable(const iid : TGUID; punk : IUnknown) : HResult; stdcall;
  611. end;
  612. PIBindStatusCallback = ^IBindStatusCallback;
  613. IAuthenticateRaw = interface['{79eac9d0-baf9-11ce-8c82-00aa004ba90b}']
  614. Function Authenticate(hwnd : PHWnd; szUserName, szPassWord : PLPWSTR) : HResult; stdcall;
  615. end;
  616. PIAuthenticateRaw = ^IAuthenticateRaw;
  617. IAuthenticate = interface['{79eac9d0-baf9-11ce-8c82-00aa004ba90b}']
  618. Function Authenticate(var hwnd : HWnd; var szUserName, szPassWord : LPWSTR) : HResult; stdcall;
  619. end;
  620. PIAuthenticate = ^IAuthenticate;
  621. IHttpNegotiateRaw = interface['{79eac9d2-baf9-11ce-8c82-00aa004ba90b}']
  622. Function BeginningTransaction(szURL, szHeaders : LPCWSTR; dwReserved : DWORD; szAdditionalHeaders : PLPWSTR) : HResult; stdcall;
  623. Function OnResponse(dwResponseCode : DWORD; szResponseHeaders, szRequestHeaders : LPCWSTR; szAdditionalRequestHeaders : PLPWSTR) : HResult; stdcall;
  624. end;
  625. PIHttpNegotiateRaw = ^IHttpNegotiateRaw;
  626. IHttpNegotiate = interface['{79eac9d2-baf9-11ce-8c82-00aa004ba90b}']
  627. Function BeginningTransaction(szURL, szHeaders : LPCWSTR; dwReserved : DWORD; out szAdditionalHeaders : LPWSTR) : HResult; stdcall;
  628. Function OnResponse(dwResponseCode : DWORD; szResponseHeaders, szRequestHeaders : LPCWSTR; out szAdditionalRequestHeaders : LPWSTR) : HResult; stdcall;
  629. end;
  630. PIHttpNegotiate = ^IHttpNegotiate;
  631. IWindowForBindingUIRaw = interface['{79eac9d5-bafa-11ce-8c82-00aa004ba90b}']
  632. Function GetWindow(const guidReason : TGUID; hwnd : Pointer) : HResult; stdcall;
  633. end;
  634. PIWindowForBindingUIRaw = ^IWindowForBindingUIRaw;
  635. IWindowForBindingUI = interface['{79eac9d5-bafa-11ce-8c82-00aa004ba90b}']
  636. Function GetWindow(const guidReason : TGUID; out hwnd) : HResult; stdcall;
  637. end;
  638. PIWindowForBindingUI = ^IWindowForBindingUI;
  639. ICodeInstallRaw = interface(IWindowForBindingUI)['{79eac9d1-baf9-11ce-8c82-00aa004ba90b}']
  640. Function OnCodeInstallProblem(ulStatusCode : ULONG; szDestination, szSource : LPCWSTR; dwReserved : DWORD) : HResult; stdcall;
  641. end;
  642. ICodeInstall = ICodeInstallRaw;
  643. PICodeInstall = ^ICodeInstall;
  644. IWinInetInfoRaw = interface['{79eac9d6-bafa-11ce-8c82-00aa004ba90b}']
  645. Function QueryOption(dwOption : DWORD; Buffer : Pointer; cbBuf : PDWORD) : HResult; stdcall;
  646. end;
  647. PIWinInetInfoRaw = ^IWinInetInfoRaw;
  648. IWinInetInfo = interface['{79eac9d6-bafa-11ce-8c82-00aa004ba90b}']
  649. Function QueryOption(dwOption : DWORD; Buffer : Pointer; var cbBuf : DWORD) : HResult; stdcall;
  650. end;
  651. PIWinInetInfo = ^IWinInetInfo;
  652. IHttpSecurityRaw = interface(IWindowForBindingUIRaw)['{79eac9d7-bafa-11ce-8c82-00aa004ba90b}']
  653. Function OnSecurityProblem(dwProblem : DWORD) : HResult; stdcall;
  654. end;
  655. PIHttpSecurityRaw = ^IHttpSecurityRaw;
  656. IHttpSecurity = interface(IWindowForBindingUI)['{79eac9d7-bafa-11ce-8c82-00aa004ba90b}']
  657. Function OnSecurityProblem(dwProblem : DWORD) : HResult; stdcall;
  658. end;
  659. PIHttpSecurity = ^IHttpSecurity;
  660. IWinInetHttpInfoRaw = interface(IWinInetInfoRaw)['{79eac9d8-bafa-11ce-8c82-00aa004ba90b}']
  661. Function QueryInfo(dwOption : DWORD; Buffer : Pointer; cbBuf, dwFlags, dwReserved : PDWORD) : HResult; stdcall;
  662. end;
  663. PIWinInetHttpInfoRaw = ^IWinInetHttpInfoRaw;
  664. IWinInetHttpInfo = interface(IWinInetInfoRaw)['{79eac9d8-bafa-11ce-8c82-00aa004ba90b}']
  665. Function QueryInfo(dwOption : DWORD; Buffer : Pointer; var cbBuf, dwFlags, dwReserved : DWORD) : HResult; stdcall;
  666. end;
  667. PIWinInetHttpInfo = ^IWinInetHttpInfo;
  668. IBindHostRaw = interface['{fc4801a1-2ba9-11cf-a229-00aa003d7352}']
  669. Function CreateMoniker(szName : POLEStr; BC : IBindCtx; mk : PIMoniker; dwReserved : DWORD) : HResult; stdcall;
  670. Function MonikerBindToStorage(Mk : IMoniker; BC : IBindCtx; BSC : IBindStatusCallback; const iid : TGUID; pvObj : PPointer) : HResult; stdcall;
  671. Function MonikerBindToObject(Mk : IMoniker; BC : IBindCtx; BSC : IBindStatusCallback; const iid : TGUID; pvObj : PPointer) : HResult; stdcall;
  672. end;
  673. PIBindHostRaw = ^IBindHostRaw;
  674. IBindHost = interface['{fc4801a1-2ba9-11cf-a229-00aa003d7352}']
  675. Function CreateMoniker(szName : POLEStr; BC : IBindCtx; out mk : IMoniker; dwReserved : DWORD) : HResult; stdcall;
  676. Function MonikerBindToStorage(Mk : IMoniker; BC : IBindCtx; BSC : IBindStatusCallback; const iid : TGUID; out pvObj : Pointer) : HResult; stdcall;
  677. Function MonikerBindToObject(Mk : IMoniker; BC : IBindCtx; BSC : IBindStatusCallback; const iid : TGUID; out pvObj : Pointer) : HResult; stdcall;
  678. end;
  679. PIBindHost = ^IBindHost;
  680. IInternetRaw = interface['{79eac9e0-baf9-11ce-8c82-00aa004ba90b}']
  681. end;
  682. PIInternetRaw = ^IInternetRaw;
  683. IInternet = IInternetRaw;
  684. PIInternet = PIInternetRaw;
  685. IInternetBindInfoRaw = interface ['{79eac9e1-baf9-11ce-8c82-00aa004ba90b}']
  686. Function GetBindInfo(grfBINDF : PDWORD; bindinfo : PBindInfo) : HResult; stdcall;
  687. Function GetBindString(ulStringType : ULONG; wzStr : POLEStr; cEl : ULONG; cElFetched : PULONG) : HResult; stdcall;
  688. end;
  689. PIInternetBindInfoRaw = ^IInternetBindInfoRaw;
  690. IInternetBindInfo = interface ['{79eac9e1-baf9-11ce-8c82-00aa004ba90b}']
  691. Function GetBindInfo(out grfBINDF : DWORD; var bindinfo : TBindInfo) : HResult; stdcall;
  692. Function GetBindString(ulStringType : ULONG; wzStr : POLEStr; cEl : ULONG; var cElFetched : ULONG) : HResult; stdcall;
  693. end;
  694. PIInternetBindInfo = ^IInternetBindInfo;
  695. IInternetProtocolRootRaw = interface ['{79eac9e3-baf9-11ce-8c82-00aa004ba90b}']
  696. Function Start(szUrl : LPCWSTR; OIProtSink : IInternetProtocolSink; OIBindInfo : IInternetBindInfo; grfPI, dwReserved : DWORD) : HResult; stdcall;
  697. Function Continue(const ProtocolData : TProtocolData) : HResult; stdcall;
  698. Function Abort(hrReason : HResult; dwOptions : DWORD) : HResult; stdcall;
  699. Function Terminate(dwOptions : DWORD) : HResult; stdcall;
  700. Function Suspend : HResult; stdcall;
  701. Function Resume : HResult; stdcall;
  702. end;
  703. PIInternetProtocolRootRaw = ^IInternetProtocolRootRaw;
  704. IInternetProtocolRoot = IInternetProtocolRootRaw;
  705. PIInternetProtocolRoot = PIInternetProtocolRootRaw;
  706. IInternetProtocolRaw = interface(IInternetProtocolRootRaw)['{79eac9e4-baf9-11ce-8c82-00aa004ba90b}']
  707. Function Read(pv : Pointer; cb : ULONG; cbRead : PULONG) : HResult; stdcall;
  708. Function Seek(dlibMove : LARGE_INTEGER; dwOrigin : DWORD; libNewPosition : PULARGE_INTEGER) : HResult; stdcall;
  709. Function LockRequest(dwOptions : DWORD) : HResult; stdcall;
  710. Function UnlockRequest : HResult; stdcall;
  711. end;
  712. PIInternetProtocolRaw = ^IInternetProtocolRaw;
  713. IInternetProtocol = interface(IInternetProtocolRoot)['{79eac9e4-baf9-11ce-8c82-00aa004ba90b}']
  714. Function Read(pv : Pointer; cb : ULONG; out cbRead : ULONG) : HResult; stdcall;
  715. Function Seek(dlibMove : LARGE_INTEGER; dwOrigin : DWORD; out libNewPosition : ULARGE_INTEGER) : HResult; stdcall;
  716. Function LockRequest(dwOptions : DWORD) : HResult; stdcall;
  717. Function UnlockRequest : HResult; stdcall;
  718. end;
  719. PIInternetProtocol = ^IInternetProtocol;
  720. IInternetProtocolSink = interface['{79eac9e5-baf9-11ce-8c82-00aa004ba90b}']
  721. Function Switch(const ProtocolData : TProtocolData) : HResult; stdcall;
  722. Function ReportProgress(ulStatusCode : ULONG; szStatusText : LPCWSTR) : HResult; stdcall;
  723. Function ReportData(grfBSCF : DWORD; ulProgress, ulProgressMax : ULONG) : HResult; stdcall;
  724. Function ReportResult(hrResult : HResult; dwError : DWORD; szResult : LPCWSTR) : HResult; stdcall;
  725. end;
  726. PIInternetProtocolSink = ^IInternetProtocolSink;
  727. IInternetProtocolSinkRaw = IInternetProtocolSink; // Because of the forward declaration, we must do it like this.
  728. PIInternetProtocolSinkRaw = PIInternetProtocolSink;
  729. IInternetSessionRaw = interface['{79eac9e7-baf9-11ce-8c82-00aa004ba90b}']
  730. Function RegisterNameSpace(CF : IClassFactory; const clsid : TCLSID; pwzProtocol : LPCWSTR; cPatterns : ULONG; const pwzPatterns : PLPCWSTR; dwReserved : DWORD) : HResult; stdcall;
  731. Function UnregisterNameSpace(CF : IClassFactory; pszProtocol : LPCWSTR) : HResult; stdcall;
  732. Function RegisterMimeFilter(CF : IClassFactory; const rclsid : TCLSID; pwzType : LPCWSTR) : HResult; stdcall;
  733. Function UnregisterMimeFilter(CF : IClassFactory; pwzType : LPCWSTR) : HResult; stdcall;
  734. Function CreateBinding(BC : IBindCtx; szUrl : LPCWSTR; UnkOuter : IUnknown; Unk : PIUnknown; OINetProt : PIInternetProtocol; dwOption : DWORD) : HResult; stdcall;
  735. Function SetSessionOption(dwOption : DWORD; pBuffer : Pointer; dwBufferLength : DWORD; dwReserved : DWORD) : HResult; stdcall;
  736. Function GetSessionOption(dwOption : DWORD; pBuffer : Pointer; dwBufferLength : PDWORD; dwReserved : DWORD) : HResult; stdcall;
  737. end;
  738. PIInternetSessionRaw = ^IInternetSessionRaw;
  739. IInternetSession = interface['{79eac9e7-baf9-11ce-8c82-00aa004ba90b}']
  740. Function RegisterNameSpace(CF : IClassFactory; const clsid : TCLSID; pwzProtocol : LPCWSTR; cPatterns : ULONG; const pwzPatterns : PLPCWSTR; dwReserved : DWORD) : HResult; stdcall;
  741. Function UnregisterNameSpace(CF : IClassFactory; pszProtocol : LPCWSTR) : HResult; stdcall;
  742. Function RegisterMimeFilter(CF : IClassFactory; const rclsid : TCLSID; pwzType : LPCWSTR) : HResult; stdcall;
  743. Function UnregisterMimeFilter(CF : IClassFactory; pwzType : LPCWSTR) : HResult; stdcall;
  744. Function CreateBinding(BC : IBindCtx; szUrl : LPCWSTR; UnkOuter : IUnknown; out Unk : IUnknown; out OINetProt : IInternetProtocol; dwOption : DWORD) : HResult; stdcall;
  745. Function SetSessionOption(dwOption : DWORD; pBuffer : Pointer; dwBufferLength : DWORD; dwReserved : DWORD) : HResult; stdcall;
  746. Function GetSessionOption(dwOption : DWORD; pBuffer : Pointer; var dwBufferLength : DWORD; dwReserved : DWORD) : HResult; stdcall;
  747. end;
  748. PIInternetSession = ^IInternetSession;
  749. IInternetThreadSwitchRaw = interface ['{79eac9e8-baf9-11ce-8c82-00aa004ba90b}']
  750. Function Prepare : HResult; stdcall;
  751. Function Continue : HResult; stdcall;
  752. end;
  753. PIInternetThreadSwitchRaw = ^IInternetThreadSwitchRaw;
  754. IInternetThreadSwitch = IInternetThreadSwitchRaw;
  755. PIInternetThreadSwitch = PIInternetThreadSwitchRaw;
  756. IInternetPriorityRaw = interface ['{79eac9eb-baf9-11ce-8c82-00aa004ba90b}']
  757. Function SetPriority(nPriority : Longint) : HResult; stdcall;
  758. Function GetPriority(nPriority : PLongint) : HResult; stdcall;
  759. end;
  760. PIInternetPriorityRaw = ^IInternetPriorityRaw;
  761. IInternetPriority = interface ['{79eac9eb-baf9-11ce-8c82-00aa004ba90b}']
  762. Function SetPriority(nPriority : Longint) : HResult; stdcall;
  763. Function GetPriority(out nPriority : Longint) : HResult; stdcall;
  764. end;
  765. PIInternetPriority = ^IInternetPriority;
  766. IInternetProtocolInfoRaw = interface ['{79eac9ec-baf9-11ce-8c82-00aa004ba90b}']
  767. Function ParseUrl(pwzUrl : LPCWSTR; ParseAction : TParseAction; dwParseFlags : DWORD; pwzResult : LPWSTR; cchResult : DWORD; pcchResult : DWORD; dwReserved : DWORD) : HResult; stdcall;
  768. Function CombineUrl(pwzBaseUrl, pwzRelativeUrl : LPCWSTR; dwCombineFlags : DWORD; pwzResult : LPWSTR; cchResult : DWORD; pcchResult : PDWORD; dwReserved : DWORD) : HResult; stdcall;
  769. Function CompareUrl(pwzUrl1, pwzUrl2 : LPCWSTR; dwCompareFlags : DWORD) : HResult; stdcall;
  770. Function QueryInfo(pwzUrl : LPCWSTR; QueryOption : TQueryOption; dwQueryFlags : DWORD; pBuffer : Pointer; cbBuffer : DWORD; cbBuf : PDWORD; dwReserved : DWORD) : HResult; stdcall;
  771. end;
  772. PIInternetProtocolInfoRaw = ^IInternetProtocolInfoRaw;
  773. IInternetProtocolInfo = interface ['{79eac9ec-baf9-11ce-8c82-00aa004ba90b}']
  774. Function ParseUrl(pwzUrl : LPCWSTR; ParseAction : TParseAction; dwParseFlags : DWORD; pwzResult : LPWSTR; cchResult : DWORD; pcchResult : DWORD; dwReserved : DWORD) : HResult; stdcall;
  775. Function CombineUrl(pwzBaseUrl, pwzRelativeUrl : LPCWSTR; dwCombineFlags : DWORD; pwzResult : LPWSTR; cchResult : DWORD; out pcchResult : DWORD; dwReserved : DWORD) : HResult; stdcall;
  776. Function CompareUrl(pwzUrl1, pwzUrl2 : LPCWSTR; dwCompareFlags : DWORD) : HResult; stdcall;
  777. Function QueryInfo(pwzUrl : LPCWSTR; QueryOption : TQueryOption; dwQueryFlags : DWORD; pBuffer : Pointer; cbBuffer : DWORD; var cbBuf : DWORD; dwReserved : DWORD) : HResult; stdcall;
  778. end;
  779. PIInternetProtocolInfo = ^IInternetProtocolInfo;
  780. IInternetSecurityMgrSiteRaw = interface ['{79eac9ed-baf9-11ce-8c82-00aa004ba90b}']
  781. Function GetWindow(hwnd : PHWnd) : HResult; stdcall;
  782. Function EnableModeless(fEnable : BOOL) : HResult; stdcall;
  783. end;
  784. PIInternetSecurityMgrSiteRaw = ^IInternetSecurityMgrSiteRaw;
  785. IInternetSecurityMgrSite = interface ['{79eac9ed-baf9-11ce-8c82-00aa004ba90b}']
  786. Function GetWindow(out hwnd : HWnd) : HResult; stdcall;
  787. Function EnableModeless(fEnable : BOOL) : HResult; stdcall;
  788. end;
  789. PIInternetSecurityMgrSite = ^IInternetSecurityMgrSite;
  790. IInternetSecurityManagerRaw = interface ['{79eac9ee-baf9-11ce-8c82-00aa004ba90b}']
  791. Function SetSecuritySite(Site : IInternetSecurityMgrSiteRaw) : HResult; stdcall;
  792. Function GetSecuritySite(Site : PIInternetSecurityMgrSiteRaw) : HResult; stdcall;
  793. Function MapUrlToZone(pwszUrl : LPCWSTR; dwZone : PDWORD; dwFlags : DWORD) : HResult; stdcall;
  794. Function GetSecurityId(pwszUrl : LPCWSTR; pbSecurityId : Pointer; cbSecurityId : PDWORD; dwReserved : DWORD) : HResult; stdcall;
  795. Function ProcessUrlAction(pwszUrl : LPCWSTR; dwAction : DWORD; pPolicy : Pointer; cbPolicy : DWORD; pContext : Pointer; cbContext : DWORD; dwFlags, dwReserved : DWORD) : HResult; stdcall;
  796. Function QueryCustomPolicy(pwszUrl : LPCWSTR; const guidKey : TGUID; out pPolicy : Pointer; cbPolicy : PDWORD; pContext : Pointer; cbContext : DWORD; dwReserved : DWORD) : HResult; stdcall;
  797. Function SetZoneMapping(dwZone : DWORD; lpszPattern : LPCWSTR; dwFlags : DWORD) : HResult; stdcall;
  798. Function GetZoneMappings(dwZone : DWORD; enumString : PIEnumString; dwFlags : DWORD) : HResult; stdcall;
  799. end;
  800. PIInternetSecurityManagerRaw = ^IInternetSecurityManagerRaw;
  801. IInternetSecurityManager = interface ['{79eac9ee-baf9-11ce-8c82-00aa004ba90b}']
  802. Function SetSecuritySite(Site : IInternetSecurityMgrSite) : HResult; stdcall;
  803. Function GetSecuritySite(out Site : IInternetSecurityMgrSite) : HResult; stdcall;
  804. Function MapUrlToZone(pwszUrl : LPCWSTR; out dwZone : DWORD; dwFlags : DWORD) : HResult; stdcall;
  805. Function GetSecurityId(pwszUrl : LPCWSTR; pbSecurityId : Pointer; var cbSecurityId : DWORD; dwReserved : DWORD) : HResult; stdcall;
  806. Function ProcessUrlAction(pwszUrl : LPCWSTR; dwAction : DWORD; pPolicy : Pointer; cbPolicy : DWORD; pContext : Pointer; cbContext : DWORD; dwFlags, dwReserved : DWORD) : HResult; stdcall;
  807. Function QueryCustomPolicy(pwszUrl : LPCWSTR; const guidKey : TGUID; out pPolicy : Pointer; out cbPolicy : DWORD; pContext : Pointer; cbContext : DWORD; dwReserved : DWORD) : HResult; stdcall;
  808. Function SetZoneMapping(dwZone : DWORD; lpszPattern : LPCWSTR; dwFlags : DWORD) : HResult; stdcall;
  809. Function GetZoneMappings(dwZone : DWORD; out enumString : IEnumString; dwFlags : DWORD) : HResult; stdcall;
  810. end;
  811. PIInternetSecurityManager = ^IInternetSecurityManager;
  812. IInternetHostSecurityManagerRaw = interface ['{3af280b6-cb3f-11d0-891e-00c04fb6bfc4}']
  813. Function GetSecurityId(pbSecurityId : Pointer; cbSecurityId : PDWORD; dwReserved : DWORD) : HResult; stdcall;
  814. Function ProcessUrlAction(dwAction : DWORD; pPolicy : Pointer; cbPolicy : DWORD; pContext : Pointer; cbContext, dwFlags, dwReserved : DWORD) : HResult; stdcall;
  815. Function QueryCustomPolicy(const guidKey : TGUID; pPolicy : PPointer; cbPolicy : PDWORD; pContext : Pointer; cbContext, dwReserved : DWORD) : HResult; stdcall;
  816. end;
  817. PIInternetHostSecurityManagerRaw = ^IInternetHostSecurityManagerRaw;
  818. IInternetHostSecurityManager = interface ['{3af280b6-cb3f-11d0-891e-00c04fb6bfc4}']
  819. Function GetSecurityId(pbSecurityId : Pointer; var cbSecurityId : DWORD; dwReserved : DWORD) : HResult; stdcall;
  820. Function ProcessUrlAction(dwAction : DWORD; pPolicy : Pointer; cbPolicy : DWORD; pContext : Pointer; cbContext, dwFlags, dwReserved : DWORD) : HResult; stdcall;
  821. Function QueryCustomPolicy(const guidKey : TGUID; out pPolicy : Pointer; out cbPolicy : DWORD; pContext : Pointer; cbContext, dwReserved : DWORD) : HResult; stdcall;
  822. end;
  823. PIInternetHostSecurityManager = ^IInternetHostSecurityManager;
  824. IInternetZoneManagerRaw = interface ['{79eac9ef-baf9-11ce-8c82-00aa004ba90b}']
  825. Function GetZoneAttributes(dwZone : DWORD; ZoneAttributes : PZoneAttributes) : HResult; stdcall;
  826. Function SetZoneAttributes(dwZone : DWORD; const ZoneAttributes : TZoneAttributes) : HResult; stdcall;
  827. Function GetZoneCustomPolicy(dwZone : DWORD; const guidKey : TGUID; pPolicy : PPointer; cbPolicy : PDWORD; urlZoneReg : TUrlZoneReg) : HResult; stdcall;
  828. Function SetZoneCustomPolicy(dwZone : DWORD; const guidKey : TGUID; pPolicy : Pointer; cbPolicy : DWORD; urlZoneReg : TUrlZoneReg) : HResult; stdcall;
  829. Function GetZoneActionPolicy(dwZone, dwAction : DWORD; pPolicy : Pointer; cbPolicy : DWORD; urlZoneReg : TUrlZoneReg) : HResult; stdcall;
  830. Function SetZoneActionPolicy(dwZone, dwAction : DWORD; pPolicy : Pointer; cbPolicy : DWORD; urlZoneReg : TUrlZoneReg) : HResult; stdcall;
  831. Function PromptAction(dwAction : DWORD; hwndParent : HWnd; pwszUrl, pwszText : LPCWSTR; dwPromptFlags : DWORD) : HResult; stdcall;
  832. Function LogAction(dwAction : DWORD; pwszUrl, pwszText : LPCWSTR; dwLogFlags : DWORD) : HResult; stdcall;
  833. Function CreateZoneEnumerator(dwEnum, dwCount : PDWORD; dwFlags : DWORD) : HResult; stdcall;
  834. Function GetZoneAt(dwEnum, dwIndex : DWORD; dwZone : PDWORD) : HResult; stdcall;
  835. Function DestroyZoneEnumerator(dwEnum : DWORD) : HResult; stdcall;
  836. Function CopyTemplatePoliciesToZone(dwTemplate, dwZone, dwReserved : DWORD) : HResult; stdcall;
  837. end;
  838. PIInternetZoneManagerRaw = ^IInternetZoneManagerRaw;
  839. IInternetZoneManager = interface ['{79eac9ef-baf9-11ce-8c82-00aa004ba90b}']
  840. Function GetZoneAttributes(dwZone : DWORD; var ZoneAttributes : TZoneAttributes) : HResult; stdcall;
  841. Function SetZoneAttributes(dwZone : DWORD; const ZoneAttributes : TZoneAttributes) : HResult; stdcall;
  842. Function GetZoneCustomPolicy(dwZone : DWORD; const guidKey : TGUID; out pPolicy : Pointer; out cbPolicy : DWORD; urlZoneReg : TUrlZoneReg) : HResult; stdcall;
  843. Function SetZoneCustomPolicy(dwZone : DWORD; const guidKey : TGUID; pPolicy : Pointer; cbPolicy : DWORD; urlZoneReg : TUrlZoneReg) : HResult; stdcall;
  844. Function GetZoneActionPolicy(dwZone, dwAction : DWORD; pPolicy : Pointer; cbPolicy : DWORD; urlZoneReg : TUrlZoneReg) : HResult; stdcall;
  845. Function SetZoneActionPolicy(dwZone, dwAction : DWORD; pPolicy : Pointer; cbPolicy : DWORD; urlZoneReg : TUrlZoneReg) : HResult; stdcall;
  846. Function PromptAction(dwAction : DWORD; hwndParent : HWnd; pwszUrl, pwszText : LPCWSTR; dwPromptFlags : DWORD) : HResult; stdcall;
  847. Function LogAction(dwAction : DWORD; pwszUrl, pwszText : LPCWSTR; dwLogFlags : DWORD) : HResult; stdcall;
  848. Function CreateZoneEnumerator(out dwEnum, dwCount : DWORD; dwFlags : DWORD) : HResult; stdcall;
  849. Function GetZoneAt(dwEnum, dwIndex : DWORD; out dwZone : DWORD) : HResult; stdcall;
  850. Function DestroyZoneEnumerator(dwEnum : DWORD) : HResult; stdcall;
  851. Function CopyTemplatePoliciesToZone(dwTemplate, dwZone, dwReserved : DWORD) : HResult; stdcall;
  852. end;
  853. PIInternetZoneManager = ^IInternetZoneManager;
  854. ISoftDistExtRaw = interface ['{B15B8DC1-C7E1-11d0-8680-00AA00BDCB71}']
  855. Function ProcessSoftDist(szCDFURL : LPCWSTR; SoftDistElement : Pointer; lpdsi : PSoftDistInfo) : HResult; stdcall;
  856. Function GetFirstCodeBase(szCodeBase : PLPWSTR;const dwMaxSize : DWORD) : HResult; stdcall;
  857. Function GetNextCodeBase(szCodeBase : PLPWSTR; const dwMaxSize : DWORD) : HResult; stdcall;
  858. Function AsyncInstallDistributionUnit(bc : IBindCtx; pvReserved : Pointer; flags : DWORD; const cbh : TCodeBaseHold) : HResult; stdcall;
  859. end;
  860. PISoftDistExtRaw = ^ISoftDistExtRaw;
  861. ISoftDistExt = interface ['{B15B8DC1-C7E1-11d0-8680-00AA00BDCB71}']
  862. Function ProcessSoftDist(szCDFURL : LPCWSTR; SoftDistElement : Pointer; var lpdsi : TSoftDistInfo) : HResult; stdcall;
  863. Function GetFirstCodeBase(var szCodeBase : LPWSTR;const dwMaxSize : DWORD) : HResult; stdcall;
  864. Function GetNextCodeBase(var szCodeBase : LPWSTR; const dwMaxSize : DWORD) : HResult; stdcall;
  865. Function AsyncInstallDistributionUnit(bc : IBindCtx; pvReserved : Pointer; flags : DWORD; const cbh : TCodeBaseHold) : HResult; stdcall;
  866. end;
  867. PISoftDistExt = ^ISoftDistExt;
  868. IDataFilterRaw = interface ['{69d14c80-c18e-11d0-a9ce-006097942311}']
  869. Function DoEncode(dwFlags : DWORD; lInBufferSize : Longint; pbInBuffer : Pointer; lOutBufferSize : Longint; pbOutBuffer : Pointer; lInBytesAvailable : Longint; lInBytesRead, lOutBytesWritten : PLongint; dwReserved : DWORD) : HResult; stdcall;
  870. Function DoDecode(dwFlags : DWORD; lInBufferSize : Longint; pbInBuffer : Pointer; lOutBufferSize : Longint; pbOutBuffer : Pointer; lInBytesAvailable : Longint; lInBytesRead, lOutBytesWritten : PLongint; dwReserved : DWORD) : HResult; stdcall;
  871. Function SetEncodingLevel(dwEncLevel : DWORD) : HResult; stdcall;
  872. end;
  873. PIDataFilterRaw = ^IDataFilterRaw;
  874. IDataFilter = interface ['{69d14c80-c18e-11d0-a9ce-006097942311}']
  875. Function DoEncode(dwFlags : DWORD; lInBufferSize : Longint; pbInBuffer : Pointer; lOutBufferSize : Longint; pbOutBuffer : Pointer; lInBytesAvailable : Longint; out lInBytesRead, lOutBytesWritten : Longint; dwReserved : DWORD) : HResult; stdcall;
  876. Function DoDecode(dwFlags : DWORD; lInBufferSize : Longint; pbInBuffer : Pointer; lOutBufferSize : Longint; pbOutBuffer : Pointer; lInBytesAvailable : Longint; out lInBytesRead, lOutBytesWritten : Longint; dwReserved : DWORD) : HResult; stdcall;
  877. Function SetEncodingLevel(dwEncLevel : DWORD) : HResult; stdcall;
  878. end;
  879. PIDataFilter = ^IDataFilter;
  880. IEncodingFilterFactoryRaw = interface ['{70bdde00-c18e-11d0-a9ce-006097942311}']
  881. Function FindBestFilter(pwzCodeIn, pwzCodeOut : LPCWSTR; info : TDataInfo; DF : PIDataFilterRaw) : HResult; stdcall;
  882. Function GetDefaultFilter(pwzCodeIn, pwzCodeOut : LPCWSTR; info : TDataInfo; DF : PIDataFilterRaw) : HResult; stdcall;
  883. end;
  884. PIEncodingFilterFactoryRaw = ^IEncodingFilterFactoryRaw;
  885. IEncodingFilterFactory = interface ['{70bdde00-c18e-11d0-a9ce-006097942311}']
  886. Function FindBestFilter(pwzCodeIn, pwzCodeOut : LPCWSTR; info : TDataInfo; out DF : IDataFilter) : HResult; stdcall;
  887. Function GetDefaultFilter(pwzCodeIn, pwzCodeOut : LPCWSTR; info : TDataInfo; out DF : IDataFilter) : HResult; stdcall;
  888. end;
  889. PIEncodingFilterFactory = ^IEncodingFilterFactory;
  890. Function CoGetClassObjectFromURL(const rCLASSID : TCLSID; szCODE : LPCWSTR; dwFileVersionMS, dwFileVersionLS : DWORD; szTYPE : LPCWSTR; pBindCtx : IBindCtx; dwClsContext : DWORD; pvReserved : Pointer; const riid : TGUID; ppv : pointer) : HResult; stdcall; external liburlmon;
  891. Function CoGetClassObjectFromURL(const rCLASSID : TCLSID; szCODE : LPCWSTR; dwFileVersionMS, dwFileVersionLS : DWORD; szTYPE : LPCWSTR; pBindCtx : IBindCtx; dwClsContext : DWORD; pvReserved : Pointer; const riid : TGUID; out ppv) : HResult; stdcall; external liburlmon;
  892. Function CoInternetCombineUrl(pwzBaseUrl, pwzRelativeUrl : LPCWSTR; dwCombineFlags : DWORD; pszResult : LPWSTR; cchResult : DWORD; pcchResult : PDWORD; dwReserved : DWORD) : HResult ; stdcall; external liburlmon;
  893. Function CoInternetCombineUrl(pwzBaseUrl, pwzRelativeUrl : LPCWSTR; dwCombineFlags : DWORD; pszResult : LPWSTR; cchResult : DWORD; var pcchResult : DWORD; dwReserved : DWORD) : HResult ; stdcall; external liburlmon;
  894. Function CoInternetCompareUrl(pwzUrl1, pwzUrl2 : LPCWSTR; dwFlags : DWORD) : HResult; stdcall; external liburlmon;
  895. Function CoInternetGetProtocolFlags(pwzUrl : LPCWSTR; dwFlags : PDWORD; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  896. Function CoInternetGetProtocolFlags(pwzUrl : LPCWSTR; var dwFlags : DWORD; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  897. Function CoInternetCreateSecurityManager(SP : IServiceProvider; SM : PIInternetSecurityManager; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  898. Function CoInternetCreateSecurityManager(SP : IServiceProvider; var SM : IInternetSecurityManager; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  899. Function CoInternetCreateZoneManager(SP : IServiceProvider; ZM : PIInternetZoneManager; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  900. Function CoInternetCreateZoneManager(SP : IServiceProvider; var ZM : IInternetZoneManager; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  901. Function CoInternetGetSecurityUrl(pwzUrl : LPCWSTR; pwzSecUrl : PLPWSTR; psuAction : TPSUAction; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  902. Function CoInternetGetSecurityUrl(pwzUrl : LPCWSTR; var pwzSecUrl : LPWSTR; psuAction : TPSUAction; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  903. Function CoInternetGetSession(dwSessionMode : DWORD; pIInternetSession : PIInternetSession; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  904. Function CoInternetGetSession(dwSessionMode : DWORD; var pIInternetSession : IInternetSession; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  905. Function CoInternetParseUrl(pwzUrl : LPCWSTR; ParseAction : TParseAction; dwFlags : DWORD; pszResult : LPWSTR; cchResult : DWORD; pcchResult : PDWORD; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  906. Function CoInternetParseUrl(pwzUrl : LPCWSTR; ParseAction : TParseAction; dwFlags : DWORD; pszResult : LPWSTR; cchResult : DWORD; var pcchResult : DWORD; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  907. Function CoInternetQueryInfo(pwzUrl : LPCWSTR; QueryOptions : TQueryOption; dwQueryFlags : DWORD; pvBuffer : Pointer; cbBuffer : DWORD; pcbBuffer : PDWORD; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  908. Function CoInternetQueryInfo(pwzUrl : LPCWSTR; QueryOptions : TQueryOption; dwQueryFlags : DWORD; pvBuffer : Pointer; cbBuffer : DWORD; var pcbBuffer : DWORD; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  909. Function CopyBindInfo(const cbiSrc : TBindInfo; biDest : PBindInfo) : HResult; stdcall; external liburlmon;
  910. Function CopyBindInfo(const cbiSrc : TBindInfo; var biDest : TBindInfo) : HResult; stdcall; external liburlmon;
  911. Function CopyStgMedium(const cstgmedSrc : TStgMedium; stgmedDest : PStgMedium) : HResult; stdcall; external liburlmon;
  912. Function CopyStgMedium(const cstgmedSrc : TStgMedium; var stgmedDest : TStgMedium) : HResult; stdcall; external liburlmon;
  913. Function CreateAsyncBindCtxEx(pbc : IBindCtx; dwOptions : DWORD; BSCb : IBindStatusCallback; Enum : IEnumFORMATETC; ppBC : PIBindCtx; reserved : DWORD) : HResult; stdcall; external liburlmon;
  914. Function CreateAsyncBindCtxEx(pbc : IBindCtx; dwOptions : DWORD; BSCb : IBindStatusCallback; Enum : IEnumFORMATETC; out ppBC : IBindCtx; reserved : DWORD) : HResult; stdcall; external liburlmon;
  915. Function CreateAsyncBindCtx(reserved : DWORD; pBSCb : IBindStatusCallback; pEFetc : IEnumFORMATETC; ppBC : PIBindCtx) : HResult; stdcall; external liburlmon;
  916. Function CreateAsyncBindCtx(reserved : DWORD; pBSCb : IBindStatusCallback; pEFetc : IEnumFORMATETC; out ppBC : IBindCtx) : HResult; stdcall; external liburlmon;
  917. Function CreateFormatEnumerator(cfmtetc : UINT; const rgfmtetc : TFormatEtc; ppenumfmtetc : PIEnumFormatEtc) : HResult; stdcall; external liburlmon;
  918. Function CreateFormatEnumerator(cfmtetc : UINT; const rgfmtetc : TFormatEtc; out ppenumfmtetc : IEnumFormatEtc) : HResult; stdcall; external liburlmon;
  919. Function CreateURLBinding(lpszUrl : LPCWSTR; pbc : IBindCtx; ppBdg : PIBinding) : HResult; stdcall; external liburlmon;
  920. Function CreateURLBinding(lpszUrl : LPCWSTR; pbc : IBindCtx; out ppBdg : IBinding) : HResult; stdcall; external liburlmon;
  921. Function CreateURLMoniker(MkCtx : IMoniker; szURL : LPCWSTR; mk : PIMoniker) : HResult; stdcall; external liburlmon;
  922. Function CreateURLMoniker(MkCtx : IMoniker; szURL : LPCWSTR; out mk : IMoniker) : HResult; stdcall; external liburlmon;
  923. Function FindMediaTypeClass(pBC : IBindCtx; szType : LPCSTR; const pclsID : TCLSID; reserved : DWORD) : HResult; stdcall; external liburlmon;
  924. Function FindMediaType(rgszTypes : LPCSTR; rgcfTypes : PClipFormat) : HResult; stdcall; external liburlmon;
  925. Function FindMimeFromData(pBC : IBindCtx; pwzUrl : LPCWSTR; pBuffer : Pointer; cbSize : DWORD; pwzMimeProposed : LPCWSTR; dwMimeFlags : DWORD; ppwzMimeOut : PLPWSTR; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  926. Function FindMimeFromData(pBC : IBindCtx; pwzUrl : LPCWSTR; pBuffer : Pointer; cbSize : DWORD; pwzMimeProposed : LPCWSTR; dwMimeFlags : DWORD; out ppwzMimeOut : LPWSTR; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  927. Function GetClassFileOrMime(pBC : IBindCtx; szFilename : LPCWSTR; pBuffer : Pointer; cbSize : DWORD; szMime : LPCWSTR; dwReserved : DWORD; pclsid : PCLSID) : HResult; stdcall; external liburlmon;
  928. Function GetClassFileOrMime(pBC : IBindCtx; szFilename : LPCWSTR; pBuffer : Pointer; cbSize : DWORD; szMime : LPCWSTR; dwReserved : DWORD; out pclsid : TCLSID) : HResult; stdcall; external liburlmon;
  929. Function GetClassURL(szURL : LPCWSTR; const ClsID : TCLSID) : HResult; stdcall; external liburlmon;
  930. Function GetSoftwareUpdateInfo(szDistUnit : LPCWSTR; var dsi : TSoftDistInfo) : HResult; stdcall; external liburlmon;
  931. Function HlinkGoBack(unk : IUnknown) : HResult; stdcall; external liburlmon;
  932. Function HlinkGoForward(unk : IUnknown) : HResult; stdcall; external liburlmon;
  933. Function HlinkNavigateMoniker(Unk : IUnknown; mkTarget : IMoniker) : HResult; stdcall; external liburlmon;
  934. Function HlinkNavigateString(unk : IUnknown; szTarget : LPCWSTR) : HResult; stdcall; external liburlmon;
  935. Function HlinkSimpleNavigateToMoniker( mkTarget : Imoniker; szLocation, szTargetFrameName : LPCWSTR; Unk : IUnknown; bc : IBindCtx; BSC : IBindStatusCallback; grfHLNF, dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  936. Function HlinkSimpleNavigateToString(szTarget, szLocation, szTargetFrameName : LPCWSTR; Unk : IUnknown; pbc : IBindCtx; BSC : IBindStatusCallback; grfHLNF, dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  937. Function IsAsyncMoniker(pmk : IMoniker) : HResult; stdcall; external liburlmon;
  938. Function IsLoggingEnabled(pszUrl : PAnsiChar) : BOOL; stdcall; external liburlmon name 'IsLoggingEnabledA';
  939. Function IsLoggingEnabledA(pszUrl : PAnsiChar) : BOOL; stdcall; external liburlmon;
  940. Function IsLoggingEnabledW(pszUrl : PWideChar) : BOOL; stdcall; external liburlmon;
  941. Function IsValidURL(pBC : IBindCtx; szURL : LPCWSTR; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  942. Function MkParseDisplayNameEx(pbc : IBindCtx; szDisplayName : LPCWSTR; pchEaten : PULONG; ppmk : PIMoniker) : HResult; stdcall; external liburlmon;
  943. Function MkParseDisplayNameEx(pbc : IBindCtx; szDisplayName : LPCWSTR; out pchEaten : ULONG; out ppmk : IMoniker) : HResult; stdcall; external liburlmon;
  944. Function ObtainUserAgentString(dwOption : DWORD; pszUAOut : LPSTR; cbSize : PDWORD) : HResult; stdcall; external liburlmon;
  945. Function ObtainUserAgentString(dwOption : DWORD; pszUAOut : LPSTR; var cbSize : DWORD) : HResult; stdcall; external liburlmon;
  946. Function RegisterBindStatusCallback(pBC : IBindCtx; pBSCb : IBindStatusCallback; ppBSCBPrev : PIBindStatusCallback; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  947. Function RegisterBindStatusCallback(pBC : IBindCtx; pBSCb : IBindStatusCallback; out ppBSCBPrev : IBindStatusCallback; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  948. Function RegisterFormatEnumerator(pBC : IBindCtx; pEFetc : IEnumFormatEtc; reserved : DWORD) : HResult; stdcall; external liburlmon;
  949. Function RegisterMediaTypeClass(pBC : IBindCtx; ctypes : UINT; const rgszTypes : LPCSTR; rgclsID : PCLSID; reserved : DWORD) : HResult; stdcall; external liburlmon;
  950. Function RegisterMediaTypes(ctypes : UINT; const rgszTypes : LPCSTR; const rgcfTypes : TClipFormat) : HResult; stdcall; external liburlmon;
  951. Function RevokeBindStatusCallback(pBC : IBindCtx; pBSCb : IBindStatusCallback) : HResult; stdcall; external liburlmon;
  952. Function RevokeFormatEnumerator(pBC : IBindCtx; pEFetc : IEnumFormatEtc) : HResult; stdcall; external liburlmon;
  953. Function SetSoftwareUpdateAdvertisementState(szDistUnit : LPCWSTR;dwAdState, dwAdvertisedVersionMS, dwAdvertisedVersionLS : DWORD) : HResult; stdcall; external liburlmon;
  954. Function URLDownloadToCacheFile(p1 : IUnknown; p2 : PAnsiChar; p3 : PAnsiChar; p4 : DWORD; p5 : DWORD; p6 : IBindStatusCallback) : HResult; stdcall; external liburlmon name 'URLDownloadToCacheFileA';
  955. Function URLDownloadToCacheFileA(p1 : IUnknown; p2 : PAnsiChar; p3 : PAnsiChar; p4 : DWORD; p5 : DWORD; p6 : IBindStatusCallback) : HResult; stdcall; external liburlmon;
  956. Function URLDownloadToCacheFileW(p1 : IUnknown; p2 : PWideChar; p3 : PWideChar; p4 : DWORD; p5 : DWORD; p6 : IBindStatusCallback) : HResult; stdcall; external liburlmon;
  957. Function URLDownloadToFile(Caller : IUnknown; URL : PAnsiChar; FileName : PAnsiChar; Reserved : DWORD; StatusCB : IBindStatusCallback) : HResult; stdcall; external liburlmon name 'URLDownloadToFileA';
  958. Function URLDownloadToFileA(Caller : IUnknown; URL : PAnsiChar; FileName : PAnsiChar; Reserved : DWORD; StatusCB : IBindStatusCallback) : HResult; stdcall; external liburlmon;
  959. Function URLDownloadToFileW(Caller : IUnknown; URL : PWideChar; FileName : PWideChar; Reserved : DWORD; StatusCB : IBindStatusCallback) : HResult; stdcall; external liburlmon;
  960. Function UrlMkGetSessionOption(dwOption : DWORD; pBuffer : Pointer; dwBufferLength : DWORD; pdwBufferLength : PDWORD; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  961. Function UrlMkGetSessionOption(dwOption : DWORD; pBuffer : Pointer; dwBufferLength : DWORD; out pdwBufferLength : DWORD; dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  962. Function UrlMkSetSessionOption(dwOption : DWORD; pBuffer : Pointer; dwBufferLength, dwReserved : DWORD) : HResult; stdcall; external liburlmon;
  963. Function URLOpenBlockingStream(p1 : IUnknown; p2 : PAnsiChar; p3 : PIStream; p4 : DWORD; p5 : IBindStatusCallback) : HResult; stdcall; external liburlmon name 'URLOpenBlockingStreamA';
  964. Function URLOpenBlockingStream(p1 : IUnknown; p2 : PAnsiChar; out p3 : IStream; p4 : DWORD; p5 : IBindStatusCallback) : HResult; stdcall; external liburlmon name 'URLOpenBlockingStreamA';
  965. Function URLOpenBlockingStreamA(p1 : IUnknown; p2 : PAnsiChar; p3 : PIStream; p4 : DWORD; p5 : IBindStatusCallback) : HResult; stdcall; external liburlmon;
  966. Function URLOpenBlockingStreamA(p1 : IUnknown; p2 : PAnsiChar; out p3 : IStream; p4 : DWORD; p5 : IBindStatusCallback) : HResult; stdcall; external liburlmon;
  967. Function URLOpenBlockingStreamW(p1 : IUnknown; p2 : PWideChar; p3 : PIStream; p4 : DWORD; p5 : IBindStatusCallback) : HResult; stdcall; external liburlmon;
  968. Function URLOpenBlockingStreamW(p1 : IUnknown; p2 : PWideChar; out p3 : IStream; p4 : DWORD; p5 : IBindStatusCallback) : HResult; stdcall; external liburlmon;
  969. Function URLOpenPullStream(p1 : IUnknown; p2 : PAnsiChar; p3 : DWORD; BSC : IBindStatusCallback) : HResult; stdcall; external liburlmon name 'URLOpenPullStreamA';
  970. Function URLOpenPullStreamA(p1 : IUnknown; p2 : PAnsiChar; p3 : DWORD; BSC : IBindStatusCallback) : HResult; stdcall; external liburlmon;
  971. Function URLOpenPullStreamW(p1 : IUnknown; p2 : PWideChar; p3 : DWORD; BSC : IBindStatusCallback) : HResult; stdcall; external liburlmon;
  972. Function URLOpenStream(p1 : IUnknown; p2 : PAnsiChar; p3 : DWORD; p4 : IBindStatusCallback) : HResult; stdcall; external liburlmon name 'URLOpenStreamA';
  973. Function URLOpenStreamA(p1 : IUnknown; p2 : PAnsiChar; p3 : DWORD; p4 : IBindStatusCallback) : HResult; stdcall; external liburlmon;
  974. Function URLOpenStreamW(p1 : IUnknown; p2 : PWideChar; p3 : DWORD; p4 : IBindStatusCallback) : HResult; stdcall; external liburlmon;
  975. Function WriteHitLogging(const Logginginfo : THIT_LOGGING_INFO) : BOOL; stdcall; external liburlmon;
  976. Procedure ReleaseBindInfo(const bindinfo : TBindInfo); stdcall; external liburlmon;
  977. implementation
  978. end.