wininet.pp 180 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787
  1. unit WinINet;
  2. //+-------------------------------------------------------------------------
  3. //
  4. // Microsoft Windows
  5. // Copyright (c) Microsoft Corporation. All rights reserved.
  6. //
  7. // File: wininet.h
  8. //
  9. // Header translation by Marco van de Voort for Free Pascal
  10. // Platform SDK "winsdk6.0" downloaded february 2008
  11. //
  12. //--------------------------------------------------------------------------
  13. {$Mode objfpc}
  14. {$ifndef NO_SMART_LINK}
  15. {$smartlink on}
  16. {$endif}
  17. {$ifdef FPC_OS_UNICODE}
  18. {$define UNICODE}
  19. {$endif}
  20. interface
  21. Uses Windows;
  22. {$ifdef win64}
  23. {$packrecords 8}
  24. {$else}
  25. {$packrecords 4}
  26. {$endif}
  27. //
  28. // Internet APIs
  29. //
  30. Type
  31. HINTERNET = LPVOID;
  32. LPHINTERNET = HINTERNET;
  33. PHINTERNET = ^HINTERNET;
  34. INTERNET_PORT = WORD;
  35. LPINTERNET_PORT = INTERNET_PORT;
  36. PINTERNET_PORT = ^INTERNET_PORT;
  37. PGROUPID = ^GROUPID;
  38. GROUPID = LONGLONG;
  39. Const
  40. WININETLIBNAME = 'wininet.dll';
  41. { wininenti constants}
  42. MAX_CACHE_ENTRY_INFO_SIZE = 4096;
  43. INTERNET_FLAG_BGUPDATE = $00000008;
  44. INTERNET_FLAG_UNUSED_4 = $00000004;
  45. INTERNET_INVALID_PORT_NUMBER = 0; // use the protocol-specific default
  46. INTERNET_DEFAULT_FTP_PORT = 21; // default for FTP servers
  47. INTERNET_DEFAULT_GOPHER_PORT = 70; // " " gopher "
  48. INTERNET_DEFAULT_HTTP_PORT = 80; // " " HTTP "
  49. INTERNET_DEFAULT_HTTPS_PORT = 443; // " " HTTPS "
  50. INTERNET_DEFAULT_SOCKS_PORT = 1080; // default for SOCKS firewall servers.
  51. //
  52. // maximum field lengths (arbitrary)
  53. //
  54. INTERNET_MAX_HOST_NAME_LENGTH = 256;
  55. INTERNET_MAX_USER_NAME_LENGTH = 128;
  56. INTERNET_MAX_PASSWORD_LENGTH = 128;
  57. INTERNET_MAX_PORT_NUMBER_LENGTH = 5; // INTERNET_PORT is unsigned short
  58. INTERNET_MAX_PORT_NUMBER_VALUE = 65535; // maximum unsigned short value
  59. INTERNET_MAX_PATH_LENGTH = 2048;
  60. INTERNET_MAX_SCHEME_LENGTH = 32; // longest protocol name length
  61. INTERNET_MAX_URL_LENGTH = (INTERNET_MAX_SCHEME_LENGTH + length('://') + INTERNET_MAX_PATH_LENGTH);
  62. //
  63. // values returned by InternetQueryOption() with INTERNET_OPTION_KEEP_CONNECTION:
  64. //
  65. INTERNET_KEEP_ALIVE_UNKNOWN = DWORD(-1);
  66. INTERNET_KEEP_ALIVE_ENABLED = 1;
  67. INTERNET_KEEP_ALIVE_DISABLED = 0;
  68. //
  69. // flags returned by InternetQueryOption() with INTERNET_OPTION_REQUEST_FLAGS
  70. //
  71. INTERNET_REQFLAG_FROM_CACHE = $00000001; // response came from cache
  72. INTERNET_REQFLAG_ASYNC = $00000002; // request was made asynchronously
  73. INTERNET_REQFLAG_VIA_PROXY = $00000004; // request was made via a proxy
  74. INTERNET_REQFLAG_NO_HEADERS = $00000008; // orginal response contained no headers
  75. INTERNET_REQFLAG_PASSIVE = $00000010; // FTP: passive-mode connection
  76. INTERNET_REQFLAG_CACHE_WRITE_DISABLED = $00000040; // HTTPS: this request not cacheable
  77. INTERNET_REQFLAG_NET_TIMEOUT = $00000080; // w/ _FROM_CACHE: net request timed out
  78. //
  79. // flags for IDN enable/disable via INTERNET_OPTION_IDN
  80. //
  81. INTERNET_FLAG_IDN_DIRECT = $00000001; // IDN enabled for direct connections
  82. INTERNET_FLAG_IDN_PROXY = $00000002; // IDN enabled for proxy
  83. //
  84. // flags common to open functions (not InternetOpen()):
  85. //
  86. INTERNET_FLAG_RELOAD = $80000000; // retrieve the original item
  87. //
  88. // flags for InternetOpenUrl():
  89. //
  90. INTERNET_FLAG_RAW_DATA = $40000000; // FTP/gopher find: receive the item as raw (structured) data
  91. INTERNET_FLAG_EXISTING_CONNECT = $20000000; // FTP: use existing InternetConnect handle for server if possible
  92. //
  93. // flags for InternetOpen():
  94. //
  95. INTERNET_FLAG_ASYNC = $10000000; // this request is asynchronous (where supported)
  96. //
  97. // protocol-specific flags:
  98. //
  99. INTERNET_FLAG_PASSIVE = $08000000; // used for FTP connections
  100. //
  101. // additional cache flags
  102. //
  103. INTERNET_FLAG_NO_CACHE_WRITE = $04000000; // don't write this item to the cache
  104. INTERNET_FLAG_DONT_CACHE = INTERNET_FLAG_NO_CACHE_WRITE;
  105. INTERNET_FLAG_MAKE_PERSISTENT = $02000000; // make this item persistent in cache
  106. INTERNET_FLAG_FROM_CACHE = $01000000; // use offline semantics
  107. INTERNET_FLAG_OFFLINE = INTERNET_FLAG_FROM_CACHE;
  108. //
  109. // additional flags
  110. //
  111. INTERNET_FLAG_SECURE = $00800000; // use PCT/SSL if applicable (HTTP)
  112. INTERNET_FLAG_KEEP_CONNECTION = $00400000; // use keep-alive semantics
  113. INTERNET_FLAG_NO_AUTO_REDIRECT = $00200000; // don't handle redirections automatically
  114. INTERNET_FLAG_READ_PREFETCH = $00100000; // do background read prefetch
  115. INTERNET_FLAG_NO_COOKIES = $00080000; // no automatic cookie handling
  116. INTERNET_FLAG_NO_AUTH = $00040000; // no automatic authentication handling
  117. INTERNET_FLAG_RESTRICTED_ZONE = $00020000; // apply restricted zone policies for cookies, auth
  118. INTERNET_FLAG_CACHE_IF_NET_FAIL = $00010000; // return cache file if net request fails
  119. //
  120. // Security Ignore Flags, Allow HttpOpenRequest to overide
  121. // Secure Channel (SSL/PCT) failures of the following types.
  122. //
  123. INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP = $00008000; // ex: https:// to http://
  124. INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS = $00004000; // ex: http:// to https://
  125. INTERNET_FLAG_IGNORE_CERT_DATE_INVALID = $00002000; // expired X509 Cert.
  126. INTERNET_FLAG_IGNORE_CERT_CN_INVALID = $00001000; // bad common name in X509 Cert.
  127. //
  128. // more caching flags
  129. //
  130. INTERNET_FLAG_RESYNCHRONIZE = $00000800; // asking wininet to update an item if it is newer
  131. INTERNET_FLAG_HYPERLINK = $00000400; // asking wininet to do hyperlinking semantic which works right for scripts
  132. INTERNET_FLAG_NO_UI = $00000200; // no cookie popup
  133. INTERNET_FLAG_PRAGMA_NOCACHE = $00000100; // asking wininet to add "pragma: no-cache"
  134. INTERNET_FLAG_CACHE_ASYNC = $00000080; // ok to perform lazy cache-write
  135. INTERNET_FLAG_FORMS_SUBMIT = $00000040; // this is a forms submit
  136. INTERNET_FLAG_FWD_BACK = $00000020; // fwd-back button op
  137. INTERNET_FLAG_NEED_FILE = $00000010; // need a file for this request
  138. INTERNET_FLAG_MUST_CACHE_REQUEST = INTERNET_FLAG_NEED_FILE;
  139. //
  140. // flags for FTP
  141. //
  142. FTP_TRANSFER_TYPE_UNKNOWN = $00000000;
  143. FTP_TRANSFER_TYPE_ASCII = $00000001;
  144. FTP_TRANSFER_TYPE_BINARY = $00000002;
  145. INTERNET_FLAG_TRANSFER_ASCII = FTP_TRANSFER_TYPE_ASCII; // = $00000001
  146. INTERNET_FLAG_TRANSFER_BINARY = FTP_TRANSFER_TYPE_BINARY; // = $00000002
  147. // setable flags
  148. SECURITY_FLAG_IGNORE_REVOCATION = $00000080;
  149. SECURITY_FLAG_IGNORE_UNKNOWN_CA = $00000100;
  150. SECURITY_FLAG_IGNORE_WRONG_USAGE = $00000200;
  151. SECURITY_FLAG_IGNORE_CERT_CN_INVALID = INTERNET_FLAG_IGNORE_CERT_CN_INVALID;
  152. SECURITY_FLAG_IGNORE_CERT_DATE_INVALID = INTERNET_FLAG_IGNORE_CERT_DATE_INVALID;
  153. SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS = INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS;
  154. SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP = INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP;
  155. SECURITY_SET_MASK = (SECURITY_FLAG_IGNORE_REVOCATION or
  156. SECURITY_FLAG_IGNORE_UNKNOWN_CA or
  157. SECURITY_FLAG_IGNORE_CERT_CN_INVALID or
  158. SECURITY_FLAG_IGNORE_CERT_DATE_INVALID or
  159. SECURITY_FLAG_IGNORE_WRONG_USAGE);
  160. //
  161. // flags field masks
  162. //
  163. SECURITY_INTERNET_MASK = (INTERNET_FLAG_IGNORE_CERT_CN_INVALID or
  164. INTERNET_FLAG_IGNORE_CERT_DATE_INVALID or
  165. INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS or
  166. INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP );
  167. SECURITY_IGNORE_ERROR_MASK = (INTERNET_FLAG_IGNORE_CERT_CN_INVALID or
  168. INTERNET_FLAG_IGNORE_CERT_DATE_INVALID or
  169. SECURITY_FLAG_IGNORE_UNKNOWN_CA or
  170. SECURITY_FLAG_IGNORE_REVOCATION );
  171. INTERNET_FLAGS_MASK = (INTERNET_FLAG_RELOAD
  172. or INTERNET_FLAG_RAW_DATA
  173. or INTERNET_FLAG_EXISTING_CONNECT
  174. or INTERNET_FLAG_ASYNC
  175. or INTERNET_FLAG_PASSIVE
  176. or INTERNET_FLAG_NO_CACHE_WRITE
  177. or INTERNET_FLAG_MAKE_PERSISTENT
  178. or INTERNET_FLAG_FROM_CACHE
  179. or INTERNET_FLAG_SECURE
  180. or INTERNET_FLAG_KEEP_CONNECTION
  181. or INTERNET_FLAG_NO_AUTO_REDIRECT
  182. or INTERNET_FLAG_READ_PREFETCH
  183. or INTERNET_FLAG_NO_COOKIES
  184. or INTERNET_FLAG_NO_AUTH
  185. or INTERNET_FLAG_CACHE_IF_NET_FAIL
  186. or SECURITY_INTERNET_MASK
  187. or INTERNET_FLAG_RESYNCHRONIZE
  188. or INTERNET_FLAG_HYPERLINK
  189. or INTERNET_FLAG_NO_UI
  190. or INTERNET_FLAG_PRAGMA_NOCACHE
  191. or INTERNET_FLAG_CACHE_ASYNC
  192. or INTERNET_FLAG_FORMS_SUBMIT
  193. or INTERNET_FLAG_NEED_FILE
  194. or INTERNET_FLAG_RESTRICTED_ZONE
  195. or INTERNET_FLAG_TRANSFER_BINARY
  196. or INTERNET_FLAG_TRANSFER_ASCII
  197. or INTERNET_FLAG_FWD_BACK
  198. or INTERNET_FLAG_BGUPDATE
  199. );
  200. INTERNET_ERROR_MASK_INSERT_CDROM = $1;
  201. INTERNET_ERROR_MASK_COMBINED_SEC_CERT = $2;
  202. INTERNET_ERROR_MASK_NEED_MSN_SSPI_PKG = $4;
  203. INTERNET_ERROR_MASK_LOGIN_FAILURE_DISPLAY_ENTITY_BODY = $8;
  204. INTERNET_OPTIONS_MASK = (NOT INTERNET_FLAGS_MASK);
  205. //
  206. // common per-API flags (new APIs)
  207. //
  208. WININET_API_FLAG_ASYNC = $00000001; // force async operation
  209. WININET_API_FLAG_SYNC = $00000004; // force sync operation
  210. WININET_API_FLAG_USE_CONTEXT = $00000008; // use value supplied in dwContext (even if 0)
  211. //
  212. // INTERNET_NO_CALLBACK - if this value is presented as the dwContext parameter
  213. // then no call-backs will be made for that API
  214. //
  215. INTERNET_NO_CALLBACK = 0;
  216. //
  217. // structures/types
  218. //
  219. //
  220. // INTERNET_SCHEME - enumerated URL scheme type
  221. //
  222. Type
  223. INTERNET_SCHEME = (
  224. INTERNET_SCHEME_PARTIAL = -2,
  225. INTERNET_SCHEME_UNKNOWN = -1,
  226. INTERNET_SCHEME_DEFAULT = 0,
  227. INTERNET_SCHEME_FTP,
  228. INTERNET_SCHEME_GOPHER,
  229. INTERNET_SCHEME_HTTP,
  230. INTERNET_SCHEME_HTTPS,
  231. INTERNET_SCHEME_FILE,
  232. INTERNET_SCHEME_NEWS,
  233. INTERNET_SCHEME_MAILTO,
  234. INTERNET_SCHEME_SOCKS,
  235. INTERNET_SCHEME_JAVASCRIPT,
  236. INTERNET_SCHEME_VBSCRIPT,
  237. INTERNET_SCHEME_RES
  238. );
  239. LPINTERNET_SCHEME = ^INTERNET_SCHEME;
  240. Const
  241. INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP;
  242. INTERNET_SCHEME_LAST = INTERNET_SCHEME_RES;
  243. //
  244. // INTERNET_DIAGNOSTIC_SOCKET_INFO.Flags definitions
  245. //
  246. IDSI_FLAG_KEEP_ALIVE = $00000001; // set if from keep-alive pool
  247. IDSI_FLAG_SECURE = $00000002; // set if secure connection
  248. IDSI_FLAG_PROXY = $00000004; // set if using proxy
  249. IDSI_FLAG_TUNNEL = $00000008; // set if tunnelling through proxy
  250. //
  251. // Options used in INTERNET_PER_CONN_OPTON struct
  252. //
  253. INTERNET_PER_CONN_FLAGS = 1;
  254. INTERNET_PER_CONN_PROXY_SERVER = 2;
  255. INTERNET_PER_CONN_PROXY_BYPASS = 3;
  256. INTERNET_PER_CONN_AUTOCONFIG_URL = 4;
  257. INTERNET_PER_CONN_AUTODISCOVERY_FLAGS = 5;
  258. INTERNET_PER_CONN_AUTOCONFIG_SECONDARY_URL = 6;
  259. INTERNET_PER_CONN_AUTOCONFIG_RELOAD_DELAY_MINS = 7;
  260. INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_TIME = 8;
  261. INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_URL = 9;
  262. //
  263. // PER_CONN_FLAGS
  264. //
  265. PROXY_TYPE_DIRECT = $00000001; // direct to net
  266. PROXY_TYPE_PROXY = $00000002; // via named proxy
  267. PROXY_TYPE_AUTO_PROXY_URL = $00000004; // autoproxy URL
  268. PROXY_TYPE_AUTO_DETECT = $00000008; // use autoproxy detection
  269. //
  270. // PER_CONN_AUTODISCOVERY_FLAGS
  271. //
  272. AUTO_PROXY_FLAG_USER_SET = $00000001; // user changed this setting
  273. AUTO_PROXY_FLAG_ALWAYS_DETECT = $00000002; // force detection even when its not needed
  274. AUTO_PROXY_FLAG_DETECTION_RUN = $00000004; // detection has been run
  275. AUTO_PROXY_FLAG_MIGRATED = $00000008; // migration has just been done
  276. AUTO_PROXY_FLAG_DONT_CACHE_PROXY_RESULT = $00000010; // don't cache result of host=proxy name
  277. AUTO_PROXY_FLAG_CACHE_INIT_RUN = $00000020; // don't initalize and run unless URL expired
  278. AUTO_PROXY_FLAG_DETECTION_SUSPECT = $00000040; // if we're on a LAN & Modem, with only one IP, bad?!?
  279. //
  280. // flags for INTERNET_CONNECTED_INFO dwFlags
  281. //
  282. //
  283. // ISO_FORCE_DISCONNECTED - if set when putting Wininet into disconnected mode,
  284. // all outstanding requests will be aborted with a cancelled error
  285. //
  286. ISO_FORCE_DISCONNECTED = $00000001;
  287. //
  288. // URL_COMPONENTS - the constituent parts of an URL. Used in InternetCrackUrl()
  289. // and InternetCreateUrl()
  290. //
  291. // For InternetCrackUrl(), if a pointer field and its corresponding length field
  292. // are both 0 then that component is not returned. If the pointer field is NULL
  293. // but the length field is not zero, then both the pointer and length fields are
  294. // returned if both pointer and corresponding length fields are non-zero then
  295. // the pointer field points to a buffer where the component is copied. The
  296. // component may be un-escaped, depending on dwFlags
  297. //
  298. // For InternetCreateUrl(), the pointer fields should be NULL if the component
  299. // is not required. If the corresponding length field is zero then the pointer
  300. // field is the address of a zero-terminated string. If the length field is not
  301. // zero then it is the string length of the corresponding pointer field
  302. //
  303. //
  304. // constants for InternetTimeFromSystemTime
  305. //
  306. INTERNET_RFC1123_FORMAT = 0;
  307. INTERNET_RFC1123_BUFSIZE = 30;
  308. //
  309. // flags for InternetCrackUrl() and InternetCreateUrl()
  310. //
  311. ICU_ESCAPE = $80000000; // (un)escape URL characters
  312. ICU_USERNAME = $40000000; // use internal username & password
  313. //
  314. // flags for InternetCanonicalizeUrl() and InternetCombineUrl()
  315. //
  316. ICU_NO_ENCODE = $20000000; // Don't convert unsafe characters to escape sequence
  317. ICU_DECODE = $10000000; // Convert %XX escape sequences to characters
  318. ICU_NO_META = $08000000; // Don't convert .. etc. meta path sequences
  319. ICU_ENCODE_SPACES_ONLY = $04000000; // Encode spaces only
  320. ICU_BROWSER_MODE = $02000000; // Special encode/decode rules for browser
  321. ICU_ENCODE_PERCENT = $00001000; // Encode any percent (ASCII25)
  322. //
  323. // access types for InternetOpen()
  324. //
  325. INTERNET_OPEN_TYPE_PRECONFIG = 0; // use registry configuration
  326. INTERNET_OPEN_TYPE_DIRECT = 1; // direct to net
  327. INTERNET_OPEN_TYPE_PROXY = 3; // via named proxy
  328. INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY = 4; // prevent using java/script/INS
  329. //
  330. // old names for access types
  331. //
  332. PRE_CONFIG_INTERNET_ACCESS = INTERNET_OPEN_TYPE_PRECONFIG;
  333. LOCAL_INTERNET_ACCESS = INTERNET_OPEN_TYPE_DIRECT;
  334. CERN_PROXY_INTERNET_ACCESS = INTERNET_OPEN_TYPE_PROXY;
  335. //
  336. // service types for InternetConnect()
  337. //
  338. INTERNET_SERVICE_FTP = 1;
  339. INTERNET_SERVICE_GOPHER = 2;
  340. INTERNET_SERVICE_HTTP = 3;
  341. //
  342. // flags for InternetReadFileEx()
  343. //
  344. IRF_ASYNC = WININET_API_FLAG_ASYNC;
  345. IRF_SYNC = WININET_API_FLAG_SYNC;
  346. IRF_USE_CONTEXT = WININET_API_FLAG_USE_CONTEXT;
  347. IRF_NO_WAIT = $00000008;
  348. //
  349. // flags for InternetSetOptionEx()
  350. //
  351. ISO_GLOBAL = $00000001; // modify option globally
  352. ISO_REGISTRY = $00000002; // write option to registry (where applicable)
  353. ISO_VALID_FLAGS = (ISO_GLOBAL or ISO_REGISTRY);
  354. //
  355. // options manifests for Internet{QueryorSet}Option
  356. //
  357. INTERNET_OPTION_CALLBACK = 1;
  358. INTERNET_OPTION_CONNECT_TIMEOUT = 2;
  359. INTERNET_OPTION_CONNECT_RETRIES = 3;
  360. INTERNET_OPTION_CONNECT_BACKOFF = 4;
  361. INTERNET_OPTION_SEND_TIMEOUT = 5;
  362. INTERNET_OPTION_CONTROL_SEND_TIMEOUT = INTERNET_OPTION_SEND_TIMEOUT;
  363. INTERNET_OPTION_RECEIVE_TIMEOUT = 6;
  364. INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT = INTERNET_OPTION_RECEIVE_TIMEOUT;
  365. INTERNET_OPTION_DATA_SEND_TIMEOUT = 7;
  366. INTERNET_OPTION_DATA_RECEIVE_TIMEOUT = 8;
  367. INTERNET_OPTION_HANDLE_TYPE = 9;
  368. INTERNET_OPTION_LISTEN_TIMEOUT = 11;
  369. INTERNET_OPTION_READ_BUFFER_SIZE = 12;
  370. INTERNET_OPTION_WRITE_BUFFER_SIZE = 13;
  371. INTERNET_OPTION_ASYNC_ID = 15;
  372. INTERNET_OPTION_ASYNC_PRIORITY = 16;
  373. INTERNET_OPTION_PARENT_HANDLE = 21;
  374. INTERNET_OPTION_KEEP_CONNECTION = 22;
  375. INTERNET_OPTION_REQUEST_FLAGS = 23;
  376. INTERNET_OPTION_EXTENDED_ERROR = 24;
  377. INTERNET_OPTION_OFFLINE_MODE = 26;
  378. INTERNET_OPTION_CACHE_STREAM_HANDLE = 27;
  379. INTERNET_OPTION_USERNAME = 28;
  380. INTERNET_OPTION_PASSWORD = 29;
  381. INTERNET_OPTION_ASYNC = 30;
  382. INTERNET_OPTION_SECURITY_FLAGS = 31;
  383. INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT= 32;
  384. INTERNET_OPTION_DATAFILE_NAME = 33;
  385. INTERNET_OPTION_URL = 34;
  386. INTERNET_OPTION_SECURITY_CERTIFICATE = 35;
  387. INTERNET_OPTION_SECURITY_KEY_BITNESS = 36;
  388. INTERNET_OPTION_REFRESH = 37;
  389. INTERNET_OPTION_PROXY = 38;
  390. INTERNET_OPTION_SETTINGS_CHANGED = 39;
  391. INTERNET_OPTION_VERSION = 40;
  392. INTERNET_OPTION_USER_AGENT = 41;
  393. INTERNET_OPTION_END_BROWSER_SESSION = 42;
  394. INTERNET_OPTION_PROXY_USERNAME = 43;
  395. INTERNET_OPTION_PROXY_PASSWORD = 44;
  396. INTERNET_OPTION_CONTEXT_VALUE = 45;
  397. INTERNET_OPTION_CONNECT_LIMIT = 46;
  398. INTERNET_OPTION_SECURITY_SELECT_CLIENT_CERT= 47;
  399. INTERNET_OPTION_POLICY = 48;
  400. INTERNET_OPTION_DISCONNECTED_TIMEOUT = 49;
  401. INTERNET_OPTION_CONNECTED_STATE = 50;
  402. INTERNET_OPTION_IDLE_STATE = 51;
  403. INTERNET_OPTION_OFFLINE_SEMANTICS = 52;
  404. INTERNET_OPTION_SECONDARY_CACHE_KEY = 53;
  405. INTERNET_OPTION_CALLBACK_FILTER = 54;
  406. INTERNET_OPTION_CONNECT_TIME = 55;
  407. INTERNET_OPTION_SEND_THROUGHPUT = 56;
  408. INTERNET_OPTION_RECEIVE_THROUGHPUT = 57;
  409. INTERNET_OPTION_REQUEST_PRIORITY = 58;
  410. INTERNET_OPTION_HTTP_VERSION = 59;
  411. INTERNET_OPTION_RESET_URLCACHE_SESSION = 60;
  412. INTERNET_OPTION_ERROR_MASK = 62;
  413. INTERNET_OPTION_FROM_CACHE_TIMEOUT = 63;
  414. INTERNET_OPTION_BYPASS_EDITED_ENTRY = 64;
  415. INTERNET_OPTION_HTTP_DECODING = 65;
  416. INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO = 67;
  417. INTERNET_OPTION_CODEPAGE = 68;
  418. INTERNET_OPTION_CACHE_TIMESTAMPS = 69;
  419. INTERNET_OPTION_DISABLE_AUTODIAL = 70;
  420. INTERNET_OPTION_MAX_CONNS_PER_SERVER = 73;
  421. INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER= 74;
  422. INTERNET_OPTION_PER_CONNECTION_OPTION = 75;
  423. INTERNET_OPTION_DIGEST_AUTH_UNLOAD = 76;
  424. INTERNET_OPTION_IGNORE_OFFLINE = 77;
  425. INTERNET_OPTION_IDENTITY = 78;
  426. INTERNET_OPTION_REMOVE_IDENTITY = 79;
  427. INTERNET_OPTION_ALTER_IDENTITY = 80;
  428. INTERNET_OPTION_SUPPRESS_BEHAVIOR = 81;
  429. INTERNET_OPTION_AUTODIAL_MODE = 82;
  430. INTERNET_OPTION_AUTODIAL_CONNECTION = 83;
  431. INTERNET_OPTION_CLIENT_CERT_CONTEXT = 84;
  432. INTERNET_OPTION_AUTH_FLAGS = 85;
  433. INTERNET_OPTION_COOKIES_3RD_PARTY = 86;
  434. INTERNET_OPTION_DISABLE_PASSPORT_AUTH = 87;
  435. INTERNET_OPTION_SEND_UTF8_SERVERNAME_TO_PROXY = 88;
  436. INTERNET_OPTION_EXEMPT_CONNECTION_LIMIT = 89;
  437. INTERNET_OPTION_ENABLE_PASSPORT_AUTH = 90;
  438. INTERNET_OPTION_HIBERNATE_INACTIVE_WORKER_THREADS = 91;
  439. INTERNET_OPTION_ACTIVATE_WORKER_THREADS = 92;
  440. INTERNET_OPTION_RESTORE_WORKER_THREAD_DEFAULTS = 93;
  441. INTERNET_OPTION_SOCKET_SEND_BUFFER_LENGTH = 94;
  442. INTERNET_OPTION_PROXY_SETTINGS_CHANGED = 95;
  443. INTERNET_OPTION_DATAFILE_EXT = 96;
  444. INTERNET_OPTION_CODEPAGE_PATH = 100;
  445. INTERNET_OPTION_CODEPAGE_EXTRA = 101;
  446. INTERNET_OPTION_IDN = 102;
  447. INTERNET_FIRST_OPTION = INTERNET_OPTION_CALLBACK;
  448. INTERNET_LAST_OPTION = INTERNET_OPTION_IDN;
  449. //
  450. // values for INTERNET_OPTION_PRIORITY
  451. //
  452. INTERNET_PRIORITY_FOREGROUND = 1000;
  453. //
  454. // handle types
  455. //
  456. INTERNET_HANDLE_TYPE_INTERNET = 1;
  457. INTERNET_HANDLE_TYPE_CONNECT_FTP = 2;
  458. INTERNET_HANDLE_TYPE_CONNECT_GOPHER = 3;
  459. INTERNET_HANDLE_TYPE_CONNECT_HTTP = 4;
  460. INTERNET_HANDLE_TYPE_FTP_FIND = 5;
  461. INTERNET_HANDLE_TYPE_FTP_FIND_HTML = 6;
  462. INTERNET_HANDLE_TYPE_FTP_FILE = 7;
  463. INTERNET_HANDLE_TYPE_FTP_FILE_HTML = 8;
  464. INTERNET_HANDLE_TYPE_GOPHER_FIND = 9;
  465. INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML = 10;
  466. INTERNET_HANDLE_TYPE_GOPHER_FILE = 11;
  467. INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML = 12;
  468. INTERNET_HANDLE_TYPE_HTTP_REQUEST = 13;
  469. INTERNET_HANDLE_TYPE_FILE_REQUEST = 14;
  470. //
  471. // values for INTERNET_OPTION_AUTH_FLAGS
  472. //
  473. AUTH_FLAG_DISABLE_NEGOTIATE = $00000001;
  474. AUTH_FLAG_ENABLE_NEGOTIATE = $00000002;
  475. AUTH_FLAG_DISABLE_BASIC_CLEARCHANNEL = $00000004;
  476. //
  477. // values for INTERNET_OPTION_SECURITY_FLAGS
  478. //
  479. // query only
  480. SECURITY_FLAG_SECURE = $00000001; // can query only
  481. SECURITY_FLAG_STRENGTH_WEAK = $10000000;
  482. SECURITY_FLAG_STRENGTH_MEDIUM = $40000000;
  483. SECURITY_FLAG_STRENGTH_STRONG = $20000000;
  484. SECURITY_FLAG_UNKNOWNBIT = $80000000;
  485. SECURITY_FLAG_FORTEZZA = $08000000;
  486. SECURITY_FLAG_NORMALBITNESS = SECURITY_FLAG_STRENGTH_WEAK;
  487. // The following are unused
  488. SECURITY_FLAG_SSL = $00000002;
  489. SECURITY_FLAG_SSL3 = $00000004;
  490. SECURITY_FLAG_PCT = $00000008;
  491. SECURITY_FLAG_PCT4 = $00000010;
  492. SECURITY_FLAG_IETFSSL4 = $00000020;
  493. // The following are for backwards compatability only.
  494. SECURITY_FLAG_40BIT = SECURITY_FLAG_STRENGTH_WEAK;
  495. SECURITY_FLAG_128BIT = SECURITY_FLAG_STRENGTH_STRONG;
  496. SECURITY_FLAG_56BIT = SECURITY_FLAG_STRENGTH_MEDIUM;
  497. // valid autodial modes
  498. AUTODIAL_MODE_NEVER = 1;
  499. AUTODIAL_MODE_ALWAYS = 2;
  500. AUTODIAL_MODE_NO_NETWORK_PRESENT = 4;
  501. //
  502. // status manifests for Internet status callback
  503. //
  504. INTERNET_STATUS_RESOLVING_NAME = 10;
  505. INTERNET_STATUS_NAME_RESOLVED = 11;
  506. INTERNET_STATUS_CONNECTING_TO_SERVER = 20;
  507. INTERNET_STATUS_CONNECTED_TO_SERVER = 21;
  508. INTERNET_STATUS_SENDING_REQUEST = 30;
  509. INTERNET_STATUS_REQUEST_SENT = 31;
  510. INTERNET_STATUS_RECEIVING_RESPONSE = 40;
  511. INTERNET_STATUS_RESPONSE_RECEIVED = 41;
  512. INTERNET_STATUS_CTL_RESPONSE_RECEIVED = 42;
  513. INTERNET_STATUS_PREFETCH = 43;
  514. INTERNET_STATUS_CLOSING_CONNECTION = 50;
  515. INTERNET_STATUS_CONNECTION_CLOSED = 51;
  516. INTERNET_STATUS_HANDLE_CREATED = 60;
  517. INTERNET_STATUS_HANDLE_CLOSING = 70;
  518. INTERNET_STATUS_DETECTING_PROXY = 80;
  519. INTERNET_STATUS_REQUEST_COMPLETE = 100;
  520. INTERNET_STATUS_REDIRECT = 110;
  521. INTERNET_STATUS_INTERMEDIATE_RESPONSE = 120;
  522. INTERNET_STATUS_USER_INPUT_REQUIRED = 140;
  523. INTERNET_STATUS_STATE_CHANGE = 200;
  524. INTERNET_STATUS_COOKIE_SENT = 320;
  525. INTERNET_STATUS_COOKIE_RECEIVED = 321;
  526. INTERNET_STATUS_PRIVACY_IMPACTED = 324;
  527. INTERNET_STATUS_P3P_HEADER = 325;
  528. INTERNET_STATUS_P3P_POLICYREF = 326;
  529. INTERNET_STATUS_COOKIE_HISTORY = 327;
  530. //
  531. // the following can be indicated in a state change notification:
  532. //
  533. INTERNET_STATE_CONNECTED = $00000001; // connected state (mutually exclusive with disconnected)
  534. INTERNET_STATE_DISCONNECTED = $00000002; // disconnected from network
  535. INTERNET_STATE_DISCONNECTED_BY_USER = $00000010; // disconnected by user request
  536. INTERNET_STATE_IDLE = $00000100; // no network requests being made (by Wininet)
  537. INTERNET_STATE_BUSY = $00000200; // network requests being made (by Wininet)
  538. //
  539. // the following values are used for cookie state:
  540. //
  541. Type
  542. InternetCookieState = (
  543. COOKIE_STATE_UNKNOWN = $0,
  544. COOKIE_STATE_ACCEPT = $1,
  545. COOKIE_STATE_PROMPT = $2,
  546. COOKIE_STATE_LEASH = $3,
  547. COOKIE_STATE_DOWNGRADE = $4,
  548. COOKIE_STATE_REJECT = $5
  549. );
  550. Const
  551. COOKIE_STATE_MAX = COOKIE_STATE_REJECT;
  552. //
  553. // if the following value is returned by InternetSetStatusCallback, then
  554. // probably an invalid (non-code) address was supplied for the callback
  555. //
  556. INTERNET_INVALID_STATUS_CALLBACK = {INTERNET_STATUS_CALLBACK} pointer(-1);
  557. //
  558. // FTP
  559. //
  560. FTP_TRANSFER_TYPE_MASK = (FTP_TRANSFER_TYPE_ASCII or FTP_TRANSFER_TYPE_BINARY);
  561. //
  562. // Gopher
  563. //
  564. //
  565. // string field lengths (in characters, not bytes)
  566. //
  567. MAX_GOPHER_DISPLAY_TEXT = 128;
  568. MAX_GOPHER_SELECTOR_TEXT = 256;
  569. MAX_GOPHER_HOST_NAME = INTERNET_MAX_HOST_NAME_LENGTH;
  570. MAX_GOPHER_LOCATOR_LENGTH = (1
  571. + MAX_GOPHER_DISPLAY_TEXT
  572. + 1
  573. + MAX_GOPHER_SELECTOR_TEXT
  574. + 1
  575. + MAX_GOPHER_HOST_NAME
  576. + 1
  577. + INTERNET_MAX_PORT_NUMBER_LENGTH
  578. + 1
  579. + 1
  580. + 2
  581. );
  582. //
  583. // manifests for GopherType
  584. //
  585. GOPHER_TYPE_TEXT_FILE = $00000001;
  586. GOPHER_TYPE_DIRECTORY = $00000002;
  587. GOPHER_TYPE_CSO = $00000004;
  588. GOPHER_TYPE_ERROR = $00000008;
  589. GOPHER_TYPE_MAC_BINHEX = $00000010;
  590. GOPHER_TYPE_DOS_ARCHIVE = $00000020;
  591. GOPHER_TYPE_UNIX_UUENCODED = $00000040;
  592. GOPHER_TYPE_INDEX_SERVER = $00000080;
  593. GOPHER_TYPE_TELNET = $00000100;
  594. GOPHER_TYPE_BINARY = $00000200;
  595. GOPHER_TYPE_REDUNDANT = $00000400;
  596. GOPHER_TYPE_TN3270 = $00000800;
  597. GOPHER_TYPE_GIF = $00001000;
  598. GOPHER_TYPE_IMAGE = $00002000;
  599. GOPHER_TYPE_BITMAP = $00004000;
  600. GOPHER_TYPE_MOVIE = $00008000;
  601. GOPHER_TYPE_SOUND = $00010000;
  602. GOPHER_TYPE_HTML = $00020000;
  603. GOPHER_TYPE_PDF = $00040000;
  604. GOPHER_TYPE_CALENDAR = $00080000;
  605. GOPHER_TYPE_INLINE = $00100000;
  606. GOPHER_TYPE_UNKNOWN = $20000000;
  607. GOPHER_TYPE_ASK = $40000000;
  608. GOPHER_TYPE_GOPHER_PLUS = $80000000;
  609. //
  610. // gopher type macros
  611. //
  612. {
  613. IS_GOPHER_FILE(type) (BOOL)(((type) & GOPHER_TYPE_FILE_MASK) ? TRUE : FALSE)
  614. IS_GOPHER_DIRECTORY(type) (BOOL)(((type) & GOPHER_TYPE_DIRECTORY) ? TRUE : FALSE)
  615. IS_GOPHER_PHONE_SERVER(type) (BOOL)(((type) & GOPHER_TYPE_CSO) ? TRUE : FALSE)
  616. IS_GOPHER_ERROR(type) (BOOL)(((type) & GOPHER_TYPE_ERROR) ? TRUE : FALSE)
  617. IS_GOPHER_INDEX_SERVER(type) (BOOL)(((type) & GOPHER_TYPE_INDEX_SERVER) ? TRUE : FALSE)
  618. IS_GOPHER_TELNET_SESSION(type) (BOOL)(((type) & GOPHER_TYPE_TELNET) ? TRUE : FALSE)
  619. IS_GOPHER_BACKUP_SERVER(type) (BOOL)(((type) & GOPHER_TYPE_REDUNDANT) ? TRUE : FALSE)
  620. IS_GOPHER_TN3270_SESSION(type) (BOOL)(((type) & GOPHER_TYPE_TN3270) ? TRUE : FALSE)
  621. IS_GOPHER_ASK(type) (BOOL)(((type) & GOPHER_TYPE_ASK) ? TRUE : FALSE)
  622. IS_GOPHER_PLUS(type) (BOOL)(((type) & GOPHER_TYPE_GOPHER_PLUS) ? TRUE : FALSE)
  623. IS_GOPHER_TYPE_KNOWN(type) (BOOL)(((type) & GOPHER_TYPE_UNKNOWN) ? FALSE : TRUE)
  624. }
  625. //
  626. // GOPHER_TYPE_FILE_MASK - use this to determine if a locator identifies a
  627. // (known) file type
  628. //
  629. GOPHER_TYPE_FILE_MASK = (GOPHER_TYPE_TEXT_FILE
  630. or GOPHER_TYPE_MAC_BINHEX
  631. or GOPHER_TYPE_DOS_ARCHIVE
  632. or GOPHER_TYPE_UNIX_UUENCODED
  633. or GOPHER_TYPE_BINARY
  634. or GOPHER_TYPE_GIF
  635. or GOPHER_TYPE_IMAGE
  636. or GOPHER_TYPE_BITMAP
  637. or GOPHER_TYPE_MOVIE
  638. or GOPHER_TYPE_SOUND
  639. or GOPHER_TYPE_HTML
  640. or GOPHER_TYPE_PDF
  641. or GOPHER_TYPE_CALENDAR
  642. or GOPHER_TYPE_INLINE
  643. );
  644. MAX_GOPHER_CATEGORY_NAME = 128; // arbitrary
  645. MAX_GOPHER_ATTRIBUTE_NAME = 128; // "
  646. MIN_GOPHER_ATTRIBUTE_LENGTH = 256; // "
  647. //
  648. // known gopher attribute categories. See below for ordinals
  649. //
  650. GOPHER_INFO_CATEGORY = '+INFO';
  651. GOPHER_ADMIN_CATEGORY = '+ADMIN';
  652. GOPHER_VIEWS_CATEGORY = '+VIEWS';
  653. GOPHER_ABSTRACT_CATEGORY = '+ABSTRACT';
  654. GOPHER_VERONICA_CATEGORY = '+VERONICA';
  655. //
  656. // known gopher attributes. These are the attribute names as defined in the
  657. // gopher+ protocol document
  658. //
  659. GOPHER_ADMIN_ATTRIBUTE = 'Admin';
  660. GOPHER_MOD_DATE_ATTRIBUTE = 'Mod-Date';
  661. GOPHER_TTL_ATTRIBUTE = 'TTL';
  662. GOPHER_SCORE_ATTRIBUTE = 'Score';
  663. GOPHER_RANGE_ATTRIBUTE = 'Score-range';
  664. GOPHER_SITE_ATTRIBUTE = 'Site';
  665. GOPHER_ORG_ATTRIBUTE = 'Org';
  666. GOPHER_LOCATION_ATTRIBUTE = 'Loc';
  667. GOPHER_GEOG_ATTRIBUTE = 'Geog';
  668. GOPHER_TIMEZONE_ATTRIBUTE = 'TZ';
  669. GOPHER_PROVIDER_ATTRIBUTE = 'Provider';
  670. GOPHER_VERSION_ATTRIBUTE = 'Version';
  671. GOPHER_ABSTRACT_ATTRIBUTE = 'Abstract';
  672. GOPHER_VIEW_ATTRIBUTE = 'View';
  673. GOPHER_TREEWALK_ATTRIBUTE = 'treewalk';
  674. //
  675. // identifiers for attribute strings
  676. //
  677. GOPHER_ATTRIBUTE_ID_BASE = $abcccc00;
  678. GOPHER_CATEGORY_ID_ALL = (GOPHER_ATTRIBUTE_ID_BASE + 1);
  679. GOPHER_CATEGORY_ID_INFO = (GOPHER_ATTRIBUTE_ID_BASE + 2);
  680. GOPHER_CATEGORY_ID_ADMIN = (GOPHER_ATTRIBUTE_ID_BASE + 3);
  681. GOPHER_CATEGORY_ID_VIEWS = (GOPHER_ATTRIBUTE_ID_BASE + 4);
  682. GOPHER_CATEGORY_ID_ABSTRACT = (GOPHER_ATTRIBUTE_ID_BASE + 5);
  683. GOPHER_CATEGORY_ID_VERONICA = (GOPHER_ATTRIBUTE_ID_BASE + 6);
  684. GOPHER_CATEGORY_ID_ASK = (GOPHER_ATTRIBUTE_ID_BASE + 7);
  685. GOPHER_CATEGORY_ID_UNKNOWN = (GOPHER_ATTRIBUTE_ID_BASE + 8);
  686. GOPHER_ATTRIBUTE_ID_ALL = (GOPHER_ATTRIBUTE_ID_BASE + 9);
  687. GOPHER_ATTRIBUTE_ID_ADMIN = (GOPHER_ATTRIBUTE_ID_BASE + 10);
  688. GOPHER_ATTRIBUTE_ID_MOD_DATE = (GOPHER_ATTRIBUTE_ID_BASE + 11);
  689. GOPHER_ATTRIBUTE_ID_TTL = (GOPHER_ATTRIBUTE_ID_BASE + 12);
  690. GOPHER_ATTRIBUTE_ID_SCORE = (GOPHER_ATTRIBUTE_ID_BASE + 13);
  691. GOPHER_ATTRIBUTE_ID_RANGE = (GOPHER_ATTRIBUTE_ID_BASE + 14);
  692. GOPHER_ATTRIBUTE_ID_SITE = (GOPHER_ATTRIBUTE_ID_BASE + 15);
  693. GOPHER_ATTRIBUTE_ID_ORG = (GOPHER_ATTRIBUTE_ID_BASE + 16);
  694. GOPHER_ATTRIBUTE_ID_LOCATION = (GOPHER_ATTRIBUTE_ID_BASE + 17);
  695. GOPHER_ATTRIBUTE_ID_GEOG = (GOPHER_ATTRIBUTE_ID_BASE + 18);
  696. GOPHER_ATTRIBUTE_ID_TIMEZONE = (GOPHER_ATTRIBUTE_ID_BASE + 19);
  697. GOPHER_ATTRIBUTE_ID_PROVIDER = (GOPHER_ATTRIBUTE_ID_BASE + 20);
  698. GOPHER_ATTRIBUTE_ID_VERSION = (GOPHER_ATTRIBUTE_ID_BASE + 21);
  699. GOPHER_ATTRIBUTE_ID_ABSTRACT = (GOPHER_ATTRIBUTE_ID_BASE + 22);
  700. GOPHER_ATTRIBUTE_ID_VIEW = (GOPHER_ATTRIBUTE_ID_BASE + 23);
  701. GOPHER_ATTRIBUTE_ID_TREEWALK = (GOPHER_ATTRIBUTE_ID_BASE + 24);
  702. GOPHER_ATTRIBUTE_ID_UNKNOWN = (GOPHER_ATTRIBUTE_ID_BASE + 25);
  703. //
  704. // HTTP
  705. //
  706. //
  707. // the default major/minor HTTP version numbers
  708. //
  709. HTTP_MAJOR_VERSION = 1;
  710. HTTP_MINOR_VERSION = 0;
  711. HTTP_VERSIONA = 'HTTP/1.0';
  712. HTTP_VERSIONW = 'HTTP/1.0'#$0000; // force unicode url.
  713. {$ifdef UNICODE}
  714. HTTP_VERSION = HTTP_VERSIONW;
  715. {$ELSE}
  716. HTTP_VERSION = HTTP_VERSIONA;
  717. {$ENDIF}
  718. //
  719. // HttpQueryInfo info levels. Generally, there is one info level
  720. // for each potential RFC822/HTTP/MIME header that an HTTP server
  721. // may send as part of a request response.
  722. //
  723. // The HTTP_QUERY_RAW_HEADERS info level is provided for clients
  724. // that choose to perform their own header parsing.
  725. //
  726. HTTP_QUERY_MIME_VERSION = 0;
  727. HTTP_QUERY_CONTENT_TYPE = 1;
  728. HTTP_QUERY_CONTENT_TRANSFER_ENCODING = 2;
  729. HTTP_QUERY_CONTENT_ID = 3;
  730. HTTP_QUERY_CONTENT_DESCRIPTION = 4;
  731. HTTP_QUERY_CONTENT_LENGTH = 5;
  732. HTTP_QUERY_CONTENT_LANGUAGE = 6;
  733. HTTP_QUERY_ALLOW = 7;
  734. HTTP_QUERY_PUBLIC = 8;
  735. HTTP_QUERY_DATE = 9;
  736. HTTP_QUERY_EXPIRES = 10;
  737. HTTP_QUERY_LAST_MODIFIED = 11;
  738. HTTP_QUERY_MESSAGE_ID = 12;
  739. HTTP_QUERY_URI = 13;
  740. HTTP_QUERY_DERIVED_FROM = 14;
  741. HTTP_QUERY_COST = 15;
  742. HTTP_QUERY_LINK = 16;
  743. HTTP_QUERY_PRAGMA = 17;
  744. HTTP_QUERY_VERSION = 18; // special: part of status line
  745. HTTP_QUERY_STATUS_CODE = 19; // special: part of status line
  746. HTTP_QUERY_STATUS_TEXT = 20; // special: part of status line
  747. HTTP_QUERY_RAW_HEADERS = 21; // special: all headers as ASCIIZ
  748. HTTP_QUERY_RAW_HEADERS_CRLF = 22; // special: all headers
  749. HTTP_QUERY_CONNECTION = 23;
  750. HTTP_QUERY_ACCEPT = 24;
  751. HTTP_QUERY_ACCEPT_CHARSET = 25;
  752. HTTP_QUERY_ACCEPT_ENCODING = 26;
  753. HTTP_QUERY_ACCEPT_LANGUAGE = 27;
  754. HTTP_QUERY_AUTHORIZATION = 28;
  755. HTTP_QUERY_CONTENT_ENCODING = 29;
  756. HTTP_QUERY_FORWARDED = 30;
  757. HTTP_QUERY_FROM = 31;
  758. HTTP_QUERY_IF_MODIFIED_SINCE = 32;
  759. HTTP_QUERY_LOCATION = 33;
  760. HTTP_QUERY_ORIG_URI = 34;
  761. HTTP_QUERY_REFERER = 35;
  762. HTTP_QUERY_RETRY_AFTER = 36;
  763. HTTP_QUERY_SERVER = 37;
  764. HTTP_QUERY_TITLE = 38;
  765. HTTP_QUERY_USER_AGENT = 39;
  766. HTTP_QUERY_WWW_AUTHENTICATE = 40;
  767. HTTP_QUERY_PROXY_AUTHENTICATE = 41;
  768. HTTP_QUERY_ACCEPT_RANGES = 42;
  769. HTTP_QUERY_SET_COOKIE = 43;
  770. HTTP_QUERY_COOKIE = 44;
  771. HTTP_QUERY_REQUEST_METHOD = 45; // special: GET/POST etc.
  772. HTTP_QUERY_REFRESH = 46;
  773. HTTP_QUERY_CONTENT_DISPOSITION = 47;
  774. //
  775. // HTTP 1.1 defined headers
  776. //
  777. HTTP_QUERY_AGE = 48;
  778. HTTP_QUERY_CACHE_CONTROL = 49;
  779. HTTP_QUERY_CONTENT_BASE = 50;
  780. HTTP_QUERY_CONTENT_LOCATION = 51;
  781. HTTP_QUERY_CONTENT_MD5 = 52;
  782. HTTP_QUERY_CONTENT_RANGE = 53;
  783. HTTP_QUERY_ETAG = 54;
  784. HTTP_QUERY_HOST = 55;
  785. HTTP_QUERY_IF_MATCH = 56;
  786. HTTP_QUERY_IF_NONE_MATCH = 57;
  787. HTTP_QUERY_IF_RANGE = 58;
  788. HTTP_QUERY_IF_UNMODIFIED_SINCE = 59;
  789. HTTP_QUERY_MAX_FORWARDS = 60;
  790. HTTP_QUERY_PROXY_AUTHORIZATION = 61;
  791. HTTP_QUERY_RANGE = 62;
  792. HTTP_QUERY_TRANSFER_ENCODING = 63;
  793. HTTP_QUERY_UPGRADE = 64;
  794. HTTP_QUERY_VARY = 65;
  795. HTTP_QUERY_VIA = 66;
  796. HTTP_QUERY_WARNING = 67;
  797. HTTP_QUERY_EXPECT = 68;
  798. HTTP_QUERY_PROXY_CONNECTION = 69;
  799. HTTP_QUERY_UNLESS_MODIFIED_SINCE = 70;
  800. HTTP_QUERY_ECHO_REQUEST = 71;
  801. HTTP_QUERY_ECHO_REPLY = 72;
  802. // These are the set of headers that should be added back to a request when
  803. // re-doing a request after a RETRY_WITH response.
  804. HTTP_QUERY_ECHO_HEADERS = 73;
  805. HTTP_QUERY_ECHO_HEADERS_CRLF = 74;
  806. HTTP_QUERY_PROXY_SUPPORT = 75;
  807. HTTP_QUERY_AUTHENTICATION_INFO = 76;
  808. HTTP_QUERY_PASSPORT_URLS = 77;
  809. HTTP_QUERY_PASSPORT_CONFIG = 78;
  810. HTTP_QUERY_MAX = 78;
  811. //
  812. // HTTP_QUERY_CUSTOM - if this special value is supplied as the dwInfoLevel
  813. // parameter of HttpQueryInfo() then the lpBuffer parameter contains the name
  814. // of the header we are to query
  815. //
  816. HTTP_QUERY_CUSTOM = 65535;
  817. //
  818. // HTTP_QUERY_FLAG_REQUEST_HEADERS - if this bit is set in the dwInfoLevel
  819. // parameter of HttpQueryInfo() then the request headers will be queried for the
  820. // request information
  821. //
  822. HTTP_QUERY_FLAG_REQUEST_HEADERS = $80000000;
  823. //
  824. // HTTP_QUERY_FLAG_SYSTEMTIME - if this bit is set in the dwInfoLevel parameter
  825. // of HttpQueryInfo() AND the header being queried contains date information,
  826. // e.g. the "Expires:" header then lpBuffer will contain a SYSTEMTIME structure
  827. // containing the date and time information converted from the header string
  828. //
  829. HTTP_QUERY_FLAG_SYSTEMTIME = $40000000;
  830. //
  831. // HTTP_QUERY_FLAG_NUMBER - if this bit is set in the dwInfoLevel parameter of
  832. // HttpQueryInfo(), then the value of the header will be converted to a number
  833. // before being returned to the caller, if applicable
  834. //
  835. HTTP_QUERY_FLAG_NUMBER = $20000000;
  836. //
  837. // HTTP_QUERY_FLAG_COALESCE - combine the values from several headers of the
  838. // same name into the output buffer
  839. //
  840. HTTP_QUERY_FLAG_COALESCE = $10000000;
  841. HTTP_QUERY_MODIFIER_FLAGS_MASK = (HTTP_QUERY_FLAG_REQUEST_HEADERS
  842. or HTTP_QUERY_FLAG_SYSTEMTIME
  843. or HTTP_QUERY_FLAG_NUMBER
  844. or HTTP_QUERY_FLAG_COALESCE
  845. );
  846. HTTP_QUERY_HEADER_MASK = ( not HTTP_QUERY_MODIFIER_FLAGS_MASK);
  847. //
  848. // HTTP Response Status Codes:
  849. //
  850. HTTP_STATUS_CONTINUE = 100; // OK to continue with request
  851. HTTP_STATUS_SWITCH_PROTOCOLS = 101; // server has switched protocols in upgrade header
  852. HTTP_STATUS_OK = 200; // request completed
  853. HTTP_STATUS_CREATED = 201; // object created, reason = new URI
  854. HTTP_STATUS_ACCEPTED = 202; // async completion (TBS)
  855. HTTP_STATUS_PARTIAL = 203; // partial completion
  856. HTTP_STATUS_NO_CONTENT = 204; // no info to return
  857. HTTP_STATUS_RESET_CONTENT = 205; // request completed, but clear form
  858. HTTP_STATUS_PARTIAL_CONTENT = 206; // partial GET furfilled
  859. HTTP_STATUS_AMBIGUOUS = 300; // server couldn't decide what to return
  860. HTTP_STATUS_MOVED = 301; // object permanently moved
  861. HTTP_STATUS_REDIRECT = 302; // object temporarily moved
  862. HTTP_STATUS_REDIRECT_METHOD = 303; // redirection w/ new access method
  863. HTTP_STATUS_NOT_MODIFIED = 304; // if-modified-since was not modified
  864. HTTP_STATUS_USE_PROXY = 305; // redirection to proxy, location header specifies proxy to use
  865. HTTP_STATUS_REDIRECT_KEEP_VERB = 307; // HTTP/1.1: keep same verb
  866. HTTP_STATUS_BAD_REQUEST = 400; // invalid syntax
  867. HTTP_STATUS_DENIED = 401; // access denied
  868. HTTP_STATUS_PAYMENT_REQ = 402; // payment required
  869. HTTP_STATUS_FORBIDDEN = 403; // request forbidden
  870. HTTP_STATUS_NOT_FOUND = 404; // object not found
  871. HTTP_STATUS_BAD_METHOD = 405; // method is not allowed
  872. HTTP_STATUS_NONE_ACCEPTABLE = 406; // no response acceptable to client found
  873. HTTP_STATUS_PROXY_AUTH_REQ = 407; // proxy authentication required
  874. HTTP_STATUS_REQUEST_TIMEOUT = 408; // server timed out waiting for request
  875. HTTP_STATUS_CONFLICT = 409; // user should resubmit with more info
  876. HTTP_STATUS_GONE = 410; // the resource is no longer available
  877. HTTP_STATUS_LENGTH_REQUIRED = 411; // the server refused to accept request w/o a length
  878. HTTP_STATUS_PRECOND_FAILED = 412; // precondition given in request failed
  879. HTTP_STATUS_REQUEST_TOO_LARGE = 413; // request entity was too large
  880. HTTP_STATUS_URI_TOO_LONG = 414; // request URI too long
  881. HTTP_STATUS_UNSUPPORTED_MEDIA = 415; // unsupported media type
  882. HTTP_STATUS_RETRY_WITH = 449; // retry after doing the appropriate action.
  883. HTTP_STATUS_SERVER_ERROR = 500; // internal server error
  884. HTTP_STATUS_NOT_SUPPORTED = 501; // required not supported
  885. HTTP_STATUS_BAD_GATEWAY = 502; // error response received from gateway
  886. HTTP_STATUS_SERVICE_UNAVAIL = 503; // temporarily overloaded
  887. HTTP_STATUS_GATEWAY_TIMEOUT = 504; // timed out waiting for gateway
  888. HTTP_STATUS_VERSION_NOT_SUP = 505; // HTTP version not supported
  889. HTTP_STATUS_FIRST = HTTP_STATUS_CONTINUE;
  890. HTTP_STATUS_LAST = HTTP_STATUS_VERSION_NOT_SUP;
  891. //
  892. // values for dwModifiers parameter of HttpAddRequestHeaders()
  893. //
  894. HTTP_ADDREQ_INDEX_MASK = $0000FFFF;
  895. HTTP_ADDREQ_FLAGS_MASK = $FFFF0000;
  896. //
  897. // HTTP_ADDREQ_FLAG_ADD_IF_NEW - the header will only be added if it doesn't
  898. // already exist
  899. //
  900. HTTP_ADDREQ_FLAG_ADD_IF_NEW = $10000000;
  901. //
  902. // HTTP_ADDREQ_FLAG_ADD - if HTTP_ADDREQ_FLAG_REPLACE is set but the header is
  903. // not found then if this flag is set, the header is added anyway, so long as
  904. // there is a valid header-value
  905. //
  906. HTTP_ADDREQ_FLAG_ADD = $20000000;
  907. //
  908. // HTTP_ADDREQ_FLAG_COALESCE - coalesce headers with same name. e.g.
  909. // "Accept: text/*" and "Accept: audio/*" with this flag results in a single
  910. // header: "Accept: text/*, audio/*"
  911. //
  912. HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA = $40000000;
  913. HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON = $01000000;
  914. HTTP_ADDREQ_FLAG_COALESCE = HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA;
  915. //
  916. // HTTP_ADDREQ_FLAG_REPLACE - replaces the specified header. Only one header can
  917. // be supplied in the buffer. If the header to be replaced is not the first
  918. // in a list of headers with the same name, then the relative index should be
  919. // supplied in the low 8 bits of the dwModifiers parameter. If the header-value
  920. // part is missing, then the header is removed
  921. //
  922. HTTP_ADDREQ_FLAG_REPLACE = $80000000;
  923. //
  924. // flags for HttpSendRequestEx(), HttpEndRequest()
  925. //
  926. HSR_ASYNC = WININET_API_FLAG_ASYNC; // force async
  927. HSR_SYNC = WININET_API_FLAG_SYNC; // force sync
  928. HSR_USE_CONTEXT = WININET_API_FLAG_USE_CONTEXT; // use dwContext value
  929. HSR_INITIATE = $00000008; // iterative operation (completed by HttpEndRequest)
  930. HSR_DOWNLOAD = $00000010; // download to file
  931. HSR_CHUNKED = $00000020; // operation is send of chunked data
  932. //
  933. // Cookie APIs
  934. //
  935. INTERNET_COOKIE_IS_SECURE = $01;
  936. INTERNET_COOKIE_IS_SESSION = $02;
  937. INTERNET_COOKIE_THIRD_PARTY = $10;
  938. INTERNET_COOKIE_PROMPT_REQUIRED = $20;
  939. INTERNET_COOKIE_EVALUATE_P3P = $40;
  940. INTERNET_COOKIE_APPLY_P3P = $80;
  941. INTERNET_COOKIE_P3P_ENABLED = $100;
  942. INTERNET_COOKIE_IS_RESTRICTED = $200;
  943. INTERNET_COOKIE_IE6 = $400;
  944. INTERNET_COOKIE_IS_LEGACY = $800;
  945. FLAG_ICC_FORCE_CONNECTION = $00000001;
  946. //
  947. // Internet UI
  948. //
  949. //
  950. // InternetErrorDlg - Provides UI for certain Errors.
  951. //
  952. FLAGS_ERROR_UI_FILTER_FOR_ERRORS = $01;
  953. FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS = $02;
  954. FLAGS_ERROR_UI_FLAGS_GENERATE_DATA = $04;
  955. FLAGS_ERROR_UI_FLAGS_NO_UI = $08;
  956. FLAGS_ERROR_UI_SERIALIZE_DIALOGS = $10;
  957. //
  958. // If SERIALIZE_DIALOGS flag set, client should implement thread-safe non-blocking callback...
  959. //
  960. //#if !defined(_WINERROR_)
  961. //
  962. // Internet API error returns
  963. //
  964. INTERNET_ERROR_BASE = 12000;
  965. ERROR_INTERNET_OUT_OF_HANDLES = (INTERNET_ERROR_BASE + 1);
  966. ERROR_INTERNET_TIMEOUT = (INTERNET_ERROR_BASE + 2);
  967. ERROR_INTERNET_EXTENDED_ERROR = (INTERNET_ERROR_BASE + 3);
  968. ERROR_INTERNET_INTERNAL_ERROR = (INTERNET_ERROR_BASE + 4);
  969. ERROR_INTERNET_INVALID_URL = (INTERNET_ERROR_BASE + 5);
  970. ERROR_INTERNET_UNRECOGNIZED_SCHEME = (INTERNET_ERROR_BASE + 6);
  971. ERROR_INTERNET_NAME_NOT_RESOLVED = (INTERNET_ERROR_BASE + 7);
  972. ERROR_INTERNET_PROTOCOL_NOT_FOUND = (INTERNET_ERROR_BASE + 8);
  973. ERROR_INTERNET_INVALID_OPTION = (INTERNET_ERROR_BASE + 9);
  974. ERROR_INTERNET_BAD_OPTION_LENGTH = (INTERNET_ERROR_BASE + 10);
  975. ERROR_INTERNET_OPTION_NOT_SETTABLE = (INTERNET_ERROR_BASE + 11);
  976. ERROR_INTERNET_SHUTDOWN = (INTERNET_ERROR_BASE + 12);
  977. ERROR_INTERNET_INCORRECT_USER_NAME = (INTERNET_ERROR_BASE + 13);
  978. ERROR_INTERNET_INCORRECT_PASSWORD = (INTERNET_ERROR_BASE + 14);
  979. ERROR_INTERNET_LOGIN_FAILURE = (INTERNET_ERROR_BASE + 15);
  980. ERROR_INTERNET_INVALID_OPERATION = (INTERNET_ERROR_BASE + 16);
  981. ERROR_INTERNET_OPERATION_CANCELLED = (INTERNET_ERROR_BASE + 17);
  982. ERROR_INTERNET_INCORRECT_HANDLE_TYPE = (INTERNET_ERROR_BASE + 18);
  983. ERROR_INTERNET_INCORRECT_HANDLE_STATE = (INTERNET_ERROR_BASE + 19);
  984. ERROR_INTERNET_NOT_PROXY_REQUEST = (INTERNET_ERROR_BASE + 20);
  985. ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND = (INTERNET_ERROR_BASE + 21);
  986. ERROR_INTERNET_BAD_REGISTRY_PARAMETER = (INTERNET_ERROR_BASE + 22);
  987. ERROR_INTERNET_NO_DIRECT_ACCESS = (INTERNET_ERROR_BASE + 23);
  988. ERROR_INTERNET_NO_CONTEXT = (INTERNET_ERROR_BASE + 24);
  989. ERROR_INTERNET_NO_CALLBACK = (INTERNET_ERROR_BASE + 25);
  990. ERROR_INTERNET_REQUEST_PENDING = (INTERNET_ERROR_BASE + 26);
  991. ERROR_INTERNET_INCORRECT_FORMAT = (INTERNET_ERROR_BASE + 27);
  992. ERROR_INTERNET_ITEM_NOT_FOUND = (INTERNET_ERROR_BASE + 28);
  993. ERROR_INTERNET_CANNOT_CONNECT = (INTERNET_ERROR_BASE + 29);
  994. ERROR_INTERNET_CONNECTION_ABORTED = (INTERNET_ERROR_BASE + 30);
  995. ERROR_INTERNET_CONNECTION_RESET = (INTERNET_ERROR_BASE + 31);
  996. ERROR_INTERNET_FORCE_RETRY = (INTERNET_ERROR_BASE + 32);
  997. ERROR_INTERNET_INVALID_PROXY_REQUEST = (INTERNET_ERROR_BASE + 33);
  998. ERROR_INTERNET_NEED_UI = (INTERNET_ERROR_BASE + 34);
  999. ERROR_INTERNET_HANDLE_EXISTS = (INTERNET_ERROR_BASE + 36);
  1000. ERROR_INTERNET_SEC_CERT_DATE_INVALID = (INTERNET_ERROR_BASE + 37);
  1001. ERROR_INTERNET_SEC_CERT_CN_INVALID = (INTERNET_ERROR_BASE + 38);
  1002. ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR = (INTERNET_ERROR_BASE + 39);
  1003. ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR = (INTERNET_ERROR_BASE + 40);
  1004. ERROR_INTERNET_MIXED_SECURITY = (INTERNET_ERROR_BASE + 41);
  1005. ERROR_INTERNET_CHG_POST_IS_NON_SECURE = (INTERNET_ERROR_BASE + 42);
  1006. ERROR_INTERNET_POST_IS_NON_SECURE = (INTERNET_ERROR_BASE + 43);
  1007. ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED = (INTERNET_ERROR_BASE + 44);
  1008. ERROR_INTERNET_INVALID_CA = (INTERNET_ERROR_BASE + 45);
  1009. ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP = (INTERNET_ERROR_BASE + 46);
  1010. ERROR_INTERNET_ASYNC_THREAD_FAILED = (INTERNET_ERROR_BASE + 47);
  1011. ERROR_INTERNET_REDIRECT_SCHEME_CHANGE = (INTERNET_ERROR_BASE + 48);
  1012. ERROR_INTERNET_DIALOG_PENDING = (INTERNET_ERROR_BASE + 49);
  1013. ERROR_INTERNET_RETRY_DIALOG = (INTERNET_ERROR_BASE + 50);
  1014. ERROR_INTERNET_HTTPS_HTTP_SUBMIT_REDIR = (INTERNET_ERROR_BASE + 52);
  1015. ERROR_INTERNET_INSERT_CDROM = (INTERNET_ERROR_BASE + 53);
  1016. ERROR_INTERNET_FORTEZZA_LOGIN_NEEDED = (INTERNET_ERROR_BASE + 54);
  1017. ERROR_INTERNET_SEC_CERT_ERRORS = (INTERNET_ERROR_BASE + 55);
  1018. ERROR_INTERNET_SEC_CERT_NO_REV = (INTERNET_ERROR_BASE + 56);
  1019. ERROR_INTERNET_SEC_CERT_REV_FAILED = (INTERNET_ERROR_BASE + 57);
  1020. //
  1021. // FTP API errors
  1022. //
  1023. ERROR_FTP_TRANSFER_IN_PROGRESS = (INTERNET_ERROR_BASE + 110);
  1024. ERROR_FTP_DROPPED = (INTERNET_ERROR_BASE + 111);
  1025. ERROR_FTP_NO_PASSIVE_MODE = (INTERNET_ERROR_BASE + 112);
  1026. //
  1027. // gopher API errors
  1028. //
  1029. ERROR_GOPHER_PROTOCOL_ERROR = (INTERNET_ERROR_BASE + 130);
  1030. ERROR_GOPHER_NOT_FILE = (INTERNET_ERROR_BASE + 131);
  1031. ERROR_GOPHER_DATA_ERROR = (INTERNET_ERROR_BASE + 132);
  1032. ERROR_GOPHER_END_OF_DATA = (INTERNET_ERROR_BASE + 133);
  1033. ERROR_GOPHER_INVALID_LOCATOR = (INTERNET_ERROR_BASE + 134);
  1034. ERROR_GOPHER_INCORRECT_LOCATOR_TYPE = (INTERNET_ERROR_BASE + 135);
  1035. ERROR_GOPHER_NOT_GOPHER_PLUS = (INTERNET_ERROR_BASE + 136);
  1036. ERROR_GOPHER_ATTRIBUTE_NOT_FOUND = (INTERNET_ERROR_BASE + 137);
  1037. ERROR_GOPHER_UNKNOWN_LOCATOR = (INTERNET_ERROR_BASE + 138);
  1038. //
  1039. // HTTP API errors
  1040. //
  1041. ERROR_HTTP_HEADER_NOT_FOUND = (INTERNET_ERROR_BASE + 150);
  1042. ERROR_HTTP_DOWNLEVEL_SERVER = (INTERNET_ERROR_BASE + 151);
  1043. ERROR_HTTP_INVALID_SERVER_RESPONSE = (INTERNET_ERROR_BASE + 152);
  1044. ERROR_HTTP_INVALID_HEADER = (INTERNET_ERROR_BASE + 153);
  1045. ERROR_HTTP_INVALID_QUERY_REQUEST = (INTERNET_ERROR_BASE + 154);
  1046. ERROR_HTTP_HEADER_ALREADY_EXISTS = (INTERNET_ERROR_BASE + 155);
  1047. ERROR_HTTP_REDIRECT_FAILED = (INTERNET_ERROR_BASE + 156);
  1048. ERROR_HTTP_NOT_REDIRECTED = (INTERNET_ERROR_BASE + 160);
  1049. ERROR_HTTP_COOKIE_NEEDS_CONFIRMATION = (INTERNET_ERROR_BASE + 161);
  1050. ERROR_HTTP_COOKIE_DECLINED = (INTERNET_ERROR_BASE + 162);
  1051. ERROR_HTTP_REDIRECT_NEEDS_CONFIRMATION = (INTERNET_ERROR_BASE + 168);
  1052. //
  1053. // additional Internet API error codes
  1054. //
  1055. ERROR_INTERNET_SECURITY_CHANNEL_ERROR = (INTERNET_ERROR_BASE + 157);
  1056. ERROR_INTERNET_UNABLE_TO_CACHE_FILE = (INTERNET_ERROR_BASE + 158);
  1057. ERROR_INTERNET_TCPIP_NOT_INSTALLED = (INTERNET_ERROR_BASE + 159);
  1058. ERROR_INTERNET_DISCONNECTED = (INTERNET_ERROR_BASE + 163);
  1059. ERROR_INTERNET_SERVER_UNREACHABLE = (INTERNET_ERROR_BASE + 164);
  1060. ERROR_INTERNET_PROXY_SERVER_UNREACHABLE = (INTERNET_ERROR_BASE + 165);
  1061. ERROR_INTERNET_BAD_AUTO_PROXY_SCRIPT = (INTERNET_ERROR_BASE + 166);
  1062. ERROR_INTERNET_UNABLE_TO_DOWNLOAD_SCRIPT = (INTERNET_ERROR_BASE + 167);
  1063. ERROR_INTERNET_SEC_INVALID_CERT = (INTERNET_ERROR_BASE + 169);
  1064. ERROR_INTERNET_SEC_CERT_REVOKED = (INTERNET_ERROR_BASE + 170);
  1065. // InternetAutodial specific errors
  1066. ERROR_INTERNET_FAILED_DUETOSECURITYCHECK = (INTERNET_ERROR_BASE + 171);
  1067. ERROR_INTERNET_NOT_INITIALIZED = (INTERNET_ERROR_BASE + 172);
  1068. ERROR_INTERNET_NEED_MSN_SSPI_PKG = (INTERNET_ERROR_BASE + 173);
  1069. ERROR_INTERNET_LOGIN_FAILURE_DISPLAY_ENTITY_BODY = (INTERNET_ERROR_BASE + 174);
  1070. // Decoding/Decompression specific errors
  1071. ERROR_INTERNET_DECODING_FAILED = (INTERNET_ERROR_BASE + 175);
  1072. INTERNET_ERROR_LAST = ERROR_INTERNET_DECODING_FAILED;
  1073. //
  1074. // URLCACHE APIs
  1075. //
  1076. //
  1077. // datatype definitions.
  1078. //
  1079. //
  1080. // cache entry type flags.
  1081. //
  1082. NORMAL_CACHE_ENTRY = $00000001;
  1083. STICKY_CACHE_ENTRY = $00000004;
  1084. EDITED_CACHE_ENTRY = $00000008;
  1085. TRACK_OFFLINE_CACHE_ENTRY = $00000010;
  1086. TRACK_ONLINE_CACHE_ENTRY = $00000020;
  1087. SPARSE_CACHE_ENTRY = $00010000;
  1088. COOKIE_CACHE_ENTRY = $00100000;
  1089. URLHISTORY_CACHE_ENTRY = $00200000;
  1090. URLCACHE_FIND_DEFAULT_FILTER = NORMAL_CACHE_ENTRY
  1091. or COOKIE_CACHE_ENTRY
  1092. or URLHISTORY_CACHE_ENTRY
  1093. or TRACK_OFFLINE_CACHE_ENTRY
  1094. or TRACK_ONLINE_CACHE_ENTRY
  1095. or STICKY_CACHE_ENTRY;
  1096. //
  1097. // INTERNET_CACHE_ENTRY_INFO -
  1098. //
  1099. //
  1100. // Cache Group Flags
  1101. //
  1102. CACHEGROUP_ATTRIBUTE_GET_ALL = $ffffffff;
  1103. CACHEGROUP_ATTRIBUTE_BASIC = $00000001;
  1104. CACHEGROUP_ATTRIBUTE_FLAG = $00000002;
  1105. CACHEGROUP_ATTRIBUTE_TYPE = $00000004;
  1106. CACHEGROUP_ATTRIBUTE_QUOTA = $00000008;
  1107. CACHEGROUP_ATTRIBUTE_GROUPNAME = $00000010;
  1108. CACHEGROUP_ATTRIBUTE_STORAGE = $00000020;
  1109. CACHEGROUP_FLAG_NONPURGEABLE = $00000001;
  1110. CACHEGROUP_FLAG_GIDONLY = $00000004;
  1111. CACHEGROUP_FLAG_FLUSHURL_ONDELETE = $00000002;
  1112. CACHEGROUP_SEARCH_ALL = $00000000;
  1113. CACHEGROUP_SEARCH_BYURL = $00000001;
  1114. CACHEGROUP_TYPE_INVALID = $00000001;
  1115. //
  1116. // updatable cache group fields
  1117. //
  1118. CACHEGROUP_READWRITE_MASK =
  1119. CACHEGROUP_ATTRIBUTE_TYPE
  1120. or CACHEGROUP_ATTRIBUTE_QUOTA
  1121. or CACHEGROUP_ATTRIBUTE_GROUPNAME
  1122. or CACHEGROUP_ATTRIBUTE_STORAGE;
  1123. //
  1124. // INTERNET_CACHE_GROUP_INFO
  1125. //
  1126. GROUPNAME_MAX_LENGTH = 120;
  1127. GROUP_OWNER_STORAGE_SIZE = 4;
  1128. CACHE_ENTRY_ATTRIBUTE_FC = $00000004;
  1129. CACHE_ENTRY_HITRATE_FC = $00000010;
  1130. CACHE_ENTRY_MODTIME_FC = $00000040;
  1131. CACHE_ENTRY_EXPTIME_FC = $00000080;
  1132. CACHE_ENTRY_ACCTIME_FC = $00000100;
  1133. CACHE_ENTRY_SYNCTIME_FC = $00000200;
  1134. CACHE_ENTRY_HEADERINFO_FC = $00000400;
  1135. CACHE_ENTRY_EXEMPT_DELTA_FC = $00000800;
  1136. // Flags for SetUrlCacheEntryGroup
  1137. INTERNET_CACHE_GROUP_ADD = 0;
  1138. INTERNET_CACHE_GROUP_REMOVE = 1;
  1139. // Flags for InternetDial - must not conflict with InternetAutodial flags
  1140. // as they are valid here also.
  1141. INTERNET_DIAL_FORCE_PROMPT = $2000;
  1142. INTERNET_DIAL_SHOW_OFFLINE = $4000;
  1143. INTERNET_DIAL_UNATTENDED = $8000;
  1144. INTERENT_GOONLINE_REFRESH = $00000001;
  1145. INTERENT_GOONLINE_MASK = $00000001;
  1146. // Flags for InternetAutodial
  1147. INTERNET_AUTODIAL_FORCE_ONLINE = 1;
  1148. INTERNET_AUTODIAL_FORCE_UNATTENDED = 2;
  1149. INTERNET_AUTODIAL_FAILIFSECURITYCHECK = 4;
  1150. INTERNET_AUTODIAL_OVERRIDE_NET_PRESENT = 8;
  1151. INTERNET_AUTODIAL_FLAGS_MASK = (INTERNET_AUTODIAL_FORCE_ONLINE or INTERNET_AUTODIAL_FORCE_UNATTENDED or INTERNET_AUTODIAL_FAILIFSECURITYCHECK or INTERNET_AUTODIAL_OVERRIDE_NET_PRESENT);
  1152. PROXY_AUTO_DETECT_TYPE_DHCP = 1;
  1153. PROXY_AUTO_DETECT_TYPE_DNS_A = 2;
  1154. // Flags for InternetGetConnectedState and Ex
  1155. INTERNET_CONNECTION_MODEM = $01;
  1156. INTERNET_CONNECTION_LAN = $02;
  1157. INTERNET_CONNECTION_PROXY = $04;
  1158. INTERNET_CONNECTION_MODEM_BUSY = $08; {no longer used }
  1159. INTERNET_RAS_INSTALLED = $10;
  1160. INTERNET_CONNECTION_OFFLINE = $20;
  1161. INTERNET_CONNECTION_CONFIGURED = $40;
  1162. // Flags for custom dial handler
  1163. INTERNET_CUSTOMDIAL_CONNECT = 0;
  1164. INTERNET_CUSTOMDIAL_UNATTENDED = 1;
  1165. INTERNET_CUSTOMDIAL_DISCONNECT = 2;
  1166. INTERNET_CUSTOMDIAL_SHOWOFFLINE = 4;
  1167. // Custom dial handler supported functionality flags
  1168. INTERNET_CUSTOMDIAL_SAFE_FOR_UNATTENDED = 1;
  1169. INTERNET_CUSTOMDIAL_WILL_SUPPLY_STATE = 2;
  1170. INTERNET_CUSTOMDIAL_CAN_HANGUP = 4;
  1171. // States for InternetSetDialState
  1172. INTERNET_DIALSTATE_DISCONNECTED = 1;
  1173. INTERNET_IDENTITY_FLAG_PRIVATE_CACHE = $01;
  1174. INTERNET_IDENTITY_FLAG_SHARED_CACHE = $02;
  1175. INTERNET_IDENTITY_FLAG_CLEAR_DATA = $04;
  1176. INTERNET_IDENTITY_FLAG_CLEAR_COOKIES = $08;
  1177. INTERNET_IDENTITY_FLAG_CLEAR_HISTORY = $10;
  1178. INTERNET_IDENTITY_FLAG_CLEAR_CONTENT = $20;
  1179. INTERNET_SUPPRESS_RESET_ALL = $00;
  1180. INTERNET_SUPPRESS_COOKIE_POLICY = $01;
  1181. INTERNET_SUPPRESS_COOKIE_POLICY_RESET = $02;
  1182. //
  1183. // Privacy settings values and APIs
  1184. //
  1185. PRIVACY_TEMPLATE_NO_COOKIES = 0;
  1186. PRIVACY_TEMPLATE_HIGH = 1;
  1187. PRIVACY_TEMPLATE_MEDIUM_HIGH = 2;
  1188. PRIVACY_TEMPLATE_MEDIUM = 3;
  1189. PRIVACY_TEMPLATE_MEDIUM_LOW = 4;
  1190. PRIVACY_TEMPLATE_LOW = 5;
  1191. PRIVACY_TEMPLATE_CUSTOM = 100;
  1192. PRIVACY_TEMPLATE_ADVANCED = 101;
  1193. PRIVACY_TEMPLATE_MAX = PRIVACY_TEMPLATE_LOW;
  1194. PRIVACY_TYPE_FIRST_PARTY = 0;
  1195. PRIVACY_TYPE_THIRD_PARTY = 1;
  1196. Type
  1197. INTERNET_ASYNC_RESULT = record
  1198. dwResult : DWORD_PTR;
  1199. dwError : DWORD;
  1200. end;
  1201. TINTERNET_ASYNC_RESULT = INTERNET_ASYNC_RESULT;
  1202. LPINTERNET_ASYNC_RESULT = ^INTERNET_ASYNC_RESULT;
  1203. PINTERNET_ASYNC_RESULT = LPINTERNET_ASYNC_RESULT;
  1204. TINTERNETASYNCRESULT = TINTERNET_ASYNC_RESULT;
  1205. LPINTERNETASYNCRESULT =LPINTERNET_ASYNC_RESULT;
  1206. PINTERNETASYNCRESULT = PINTERNET_ASYNC_RESULT;
  1207. { INTERNET_DIAGNOSTIC_SOCKET_INFO - info about the socket in use }
  1208. INTERNET_DIAGNOSTIC_SOCKET_INFO = record
  1209. Socket : DWORD_PTR;
  1210. SourcePort : DWORD;
  1211. DestPort : DWORD;
  1212. Flags : DWORD;
  1213. end;
  1214. TINTERNET_DIAGNOSTIC_SOCKET_INFO = INTERNET_DIAGNOSTIC_SOCKET_INFO;
  1215. LPINTERNET_DIAGNOSTIC_SOCKET_INFO = ^INTERNET_DIAGNOSTIC_SOCKET_INFO;
  1216. PINTERNET_DIAGNOSTIC_SOCKET_INFO = LPINTERNET_DIAGNOSTIC_SOCKET_INFO;
  1217. INTERNET_PREFETCH_STATUS = record
  1218. dwStatus,
  1219. dwSize : DWord;
  1220. end;
  1221. TINTERNET_PREFETCH_STATUS= INTERNET_PREFETCH_STATUS;
  1222. LPINTERNET_PREFETCH_STATUS= ^INTERNET_PREFETCH_STATUS;
  1223. PINTERNET_PREFETCH_STATUS= LPINTERNET_PREFETCH_STATUS;
  1224. TINTERNETPREFETCHSTATUS= TINTERNET_PREFETCH_STATUS;
  1225. PINTERNETPREFETCHSTATUS= PINTERNET_PREFETCH_STATUS;
  1226. LPINTERNETPREFETCHSTATUS= PINTERNET_PREFETCH_STATUS;
  1227. INTERNET_PROXY_INFO = record
  1228. dwAccessType : DWORD;
  1229. lpszProxy : LPCTSTR;
  1230. lpszProxyBypass : LPCTSTR;
  1231. end;
  1232. TINTERNET_PROXY_INFO = INTERNET_PROXY_INFO ;
  1233. LPINTERNET_PROXY_INFO = ^INTERNET_PROXY_INFO;
  1234. PINTERNET_PROXY_INFO = LPINTERNET_PROXY_INFO;
  1235. TINTERNETPROXYINFO = TINTERNET_PROXY_INFO;
  1236. LPINTERNETPROXYINFO = LPINTERNET_PROXY_INFO;
  1237. PINTERNETPROXYINFO = PINTERNET_PROXY_INFO;
  1238. INTERNET_PER_CONN_OPTIONA = record
  1239. dwOption : DWORD;
  1240. Value : record
  1241. case longint of
  1242. 0 : ( dwValue : DWORD );
  1243. 1 : ( pszValue : LPSTR );
  1244. 2 : ( ftValue : FILETIME );
  1245. end;
  1246. end;
  1247. TINTERNET_PER_CONN_OPTIONA = INTERNET_PER_CONN_OPTIONA;
  1248. LPINTERNET_PER_CONN_OPTIONA = ^INTERNET_PER_CONN_OPTIONA;
  1249. PINTERNET_PER_CONN_OPTIONA = LPINTERNET_PER_CONN_OPTIONA;
  1250. INTERNET_PER_CONN_OPTIONW = record
  1251. dwOption : DWORD;
  1252. Value : record
  1253. case longint of
  1254. 0 : ( dwValue : DWORD );
  1255. 1 : ( pszValue : LPWSTR );
  1256. 2 : ( ftValue : FILETIME );
  1257. end;
  1258. end;
  1259. TINTERNET_PER_CONN_OPTIONW = INTERNET_PER_CONN_OPTIONW;
  1260. LPINTERNET_PER_CONN_OPTIONW = ^INTERNET_PER_CONN_OPTIONW;
  1261. PINTERNET_PER_CONN_OPTIONW = LPINTERNET_PER_CONN_OPTIONW;
  1262. {$ifdef UNICODE}
  1263. INTERNET_PER_CONN_OPTION = INTERNET_PER_CONN_OPTIONW;
  1264. LPINTERNET_PER_CONN_OPTION = LPINTERNET_PER_CONN_OPTIONW;
  1265. TINTERNET_PER_CONN_OPTION = INTERNET_PER_CONN_OPTIONW;
  1266. PINTERNET_PER_CONN_OPTION = LPINTERNET_PER_CONN_OPTIONW;
  1267. {$else}
  1268. INTERNET_PER_CONN_OPTION = INTERNET_PER_CONN_OPTIONA;
  1269. LPINTERNET_PER_CONN_OPTION = LPINTERNET_PER_CONN_OPTIONA;
  1270. TINTERNET_PER_CONN_OPTION = INTERNET_PER_CONN_OPTIONA;
  1271. PINTERNET_PER_CONN_OPTION = LPINTERNET_PER_CONN_OPTIONA;
  1272. {$endif}
  1273. INTERNET_PER_CONN_OPTION_LISTA = record
  1274. dwSize : DWORD;
  1275. pszConnection : LPSTR;
  1276. dwOptionCount : DWORD;
  1277. dwOptionError : DWORD;
  1278. pOptions : LPINTERNET_PER_CONN_OPTIONA;
  1279. end;
  1280. TINTERNET_PER_CONN_OPTION_LISTA = INTERNET_PER_CONN_OPTION_LISTA ;
  1281. LPINTERNET_PER_CONN_OPTION_LISTA = ^INTERNET_PER_CONN_OPTION_LISTA;
  1282. PINTERNET_PER_CONN_OPTION_LISTA = LPINTERNET_PER_CONN_OPTION_LISTA;
  1283. INTERNET_PER_CONN_OPTION_LISTW = record
  1284. dwSize : DWORD;
  1285. pszConnection : LPWSTR;
  1286. dwOptionCount : DWORD;
  1287. dwOptionError : DWORD;
  1288. pOptions : LPINTERNET_PER_CONN_OPTIONW;
  1289. end;
  1290. TINTERNET_PER_CONN_OPTION_LISTW = INTERNET_PER_CONN_OPTION_LISTW;
  1291. LPINTERNET_PER_CONN_OPTION_LISTW = ^INTERNET_PER_CONN_OPTION_LISTW;
  1292. PINTERNET_PER_CONN_OPTION_LISTW = LPINTERNET_PER_CONN_OPTION_LISTW;
  1293. {$ifdef UNICODE}
  1294. INTERNET_PER_CONN_OPTION_LIST = INTERNET_PER_CONN_OPTION_LISTW;
  1295. LPINTERNET_PER_CONN_OPTION_LIST = LPINTERNET_PER_CONN_OPTION_LISTW;
  1296. TINTERNET_PER_CONN_OPTION_LIST = INTERNET_PER_CONN_OPTION_LISTW;
  1297. PINTERNET_PER_CONN_OPTION_LIST = LPINTERNET_PER_CONN_OPTION_LISTW;
  1298. {$else}
  1299. INTERNET_PER_CONN_OPTION_LIST = INTERNET_PER_CONN_OPTION_LISTA;
  1300. LPINTERNET_PER_CONN_OPTION_LIST = LPINTERNET_PER_CONN_OPTION_LISTA;
  1301. TINTERNET_PER_CONN_OPTION_LIST = INTERNET_PER_CONN_OPTION_LISTA;
  1302. PINTERNET_PER_CONN_OPTION_LIST = LPINTERNET_PER_CONN_OPTION_LISTA;
  1303. {$endif}
  1304. INTERNET_VERSION_INFO = record
  1305. dwMajorVersion : DWORD;
  1306. dwMinorVersion : DWORD;
  1307. end;
  1308. LPINTERNET_VERSION_INFO = ^INTERNET_VERSION_INFO;
  1309. PINTERNET_VERSION_INFO = LPINTERNET_VERSION_INFO;
  1310. TINTERNET_VERSION_INFO = INTERNET_VERSION_INFO;
  1311. LPINTERNETVERSIONINFO = LPINTERNET_VERSION_INFO;
  1312. PINTERNETVERSIONINFO = PINTERNET_VERSION_INFO;
  1313. TINTERNETVERSIONINFO = TINTERNET_VERSION_INFO;
  1314. HTTP_VERSION_INFO = record
  1315. dwMajorVersion : DWORD;
  1316. dwMinorVersion : DWORD;
  1317. end;
  1318. THTTP_VERSION_INFO = HTTP_VERSION_INFO;
  1319. LPHTTP_VERSION_INFO = ^HTTP_VERSION_INFO;
  1320. PHTTP_VERSION_INFO = LPHTTP_VERSION_INFO;
  1321. LPHTTPVERSIONINFO = LPHTTP_VERSION_INFO;
  1322. PHTTPVERSIONINFO = PHTTP_VERSION_INFO;
  1323. THTTPVERSIONINFO = THTTP_VERSION_INFO;
  1324. INTERNET_CONNECTED_INFO = record
  1325. dwConnectedState : DWORD;
  1326. dwFlags : DWORD;
  1327. end;
  1328. TINTERNET_CONNECTED_INFO = INTERNET_CONNECTED_INFO;
  1329. LPINTERNET_CONNECTED_INFO = ^INTERNET_CONNECTED_INFO;
  1330. PINTERNET_CONNECTED_INFO = LPINTERNET_CONNECTED_INFO;
  1331. TINTERNETCONNECTEDINFO = TINTERNET_CONNECTED_INFO;
  1332. LPINTERNETCONNECTEDINFO = LPINTERNET_CONNECTED_INFO;
  1333. PINTERNETCONNECTEDINFO = PINTERNET_CONNECTED_INFO;
  1334. URL_COMPONENTSA = record
  1335. dwStructSize : DWORD;
  1336. lpszScheme : LPSTR;
  1337. dwSchemeLength : DWORD;
  1338. nScheme : INTERNET_SCHEME;
  1339. lpszHostName : LPSTR;
  1340. dwHostNameLength : DWORD;
  1341. nPort : INTERNET_PORT;
  1342. lpszUserName : LPSTR;
  1343. dwUserNameLength : DWORD;
  1344. lpszPassword : LPSTR;
  1345. dwPasswordLength : DWORD;
  1346. lpszUrlPath : LPSTR;
  1347. dwUrlPathLength : DWORD;
  1348. lpszExtraInfo : LPSTR;
  1349. dwExtraInfoLength : DWORD;
  1350. end;
  1351. LPURL_COMPONENTSA = ^URL_COMPONENTSA;
  1352. PURL_COMPONENTSA = LPURL_COMPONENTSA;
  1353. TURL_COMPONENTSA = URL_COMPONENTSA;
  1354. URL_COMPONENTSW = record
  1355. dwStructSize : DWORD;
  1356. lpszScheme : LPWSTR;
  1357. dwSchemeLength : DWORD;
  1358. nScheme : INTERNET_SCHEME;
  1359. lpszHostName : LPWSTR;
  1360. dwHostNameLength : DWORD;
  1361. nPort : INTERNET_PORT;
  1362. lpszUserName : LPWSTR;
  1363. dwUserNameLength : DWORD;
  1364. lpszPassword : LPWSTR;
  1365. dwPasswordLength : DWORD;
  1366. lpszUrlPath : LPWSTR;
  1367. dwUrlPathLength : DWORD;
  1368. lpszExtraInfo : LPWSTR;
  1369. dwExtraInfoLength : DWORD;
  1370. end;
  1371. TURL_COMPONENTSW = URL_COMPONENTSW;
  1372. LPURL_COMPONENTSW = ^URL_COMPONENTSW;
  1373. PURL_COMPONENTSW = LPURL_COMPONENTSW;
  1374. {$ifdef UNICODE}
  1375. URL_COMPONENTS = URL_COMPONENTSW;
  1376. LPURL_COMPONENTS = LPURL_COMPONENTSW;
  1377. TURL_COMPONENTS = URL_COMPONENTSW;
  1378. PURL_COMPONENTS = LPURL_COMPONENTSW;
  1379. {$else}
  1380. URL_COMPONENTS = URL_COMPONENTSA;
  1381. LPURL_COMPONENTS = LPURL_COMPONENTSA;
  1382. TURL_COMPONENTS = URL_COMPONENTSA;
  1383. PURL_COMPONENTS = LPURL_COMPONENTSA;
  1384. {$endif}
  1385. TURLComponents = TURL_COMPONENTS;
  1386. LPURLCOMPONENTS = LPURL_COMPONENTS;
  1387. PURLCOMPONENTS = PURL_COMPONENTS;
  1388. INTERNET_CERTIFICATE_INFO = record
  1389. ftExpiry : FILETIME;
  1390. ftStart : FILETIME;
  1391. lpszSubjectInfo : LPTSTR;
  1392. lpszIssuerInfo : LPTSTR;
  1393. lpszProtocolName : LPTSTR;
  1394. lpszSignatureAlgName : LPTSTR;
  1395. lpszEncryptionAlgName : LPTSTR;
  1396. dwKeySize : DWORD;
  1397. end;
  1398. TINTERNET_CERTIFICATE_INFO = INTERNET_CERTIFICATE_INFO;
  1399. LPINTERNET_CERTIFICATE_INFO = ^INTERNET_CERTIFICATE_INFO;
  1400. PINTERNET_CERTIFICATE_INFO = LPINTERNET_CERTIFICATE_INFO;
  1401. TINTERNETCERTIFICATEINFO = TINTERNET_CERTIFICATE_INFO;
  1402. LPINTERNETCERTIFICATEINFO = LPINTERNET_CERTIFICATE_INFO;
  1403. PINTERNETCERTIFICATEINFO = PINTERNET_CERTIFICATE_INFO;
  1404. LPINTERNET_BUFFERSA = ^_INTERNET_BUFFERSA;
  1405. _INTERNET_BUFFERSA = record
  1406. dwStructSize : DWORD;
  1407. Next : LPINTERNET_BUFFERSA;
  1408. lpcszHeader : LPCSTR;
  1409. dwHeadersLength : DWORD;
  1410. dwHeadersTotal : DWORD;
  1411. lpvBuffer : LPVOID;
  1412. dwBufferLength : DWORD;
  1413. dwBufferTotal : DWORD;
  1414. dwOffsetLow : DWORD;
  1415. dwOffsetHigh : DWORD;
  1416. end;
  1417. INTERNET_BUFFERSA = _INTERNET_BUFFERSA;
  1418. TINTERNET_BUFFERSA = _INTERNET_BUFFERSA;
  1419. PINTERNET_BUFFERSA = LPINTERNET_BUFFERSA;
  1420. TINTERNETBUFFERSA = TINTERNET_BUFFERSA;
  1421. PINTERNETBUFFERSA = PINTERNET_BUFFERSA;
  1422. LPINTERNET_BUFFERSW = ^_INTERNET_BUFFERSW;
  1423. _INTERNET_BUFFERSW = record
  1424. dwStructSize : DWORD;
  1425. Next : LPINTERNET_BUFFERSW;
  1426. lpcszHeader : LPCWSTR;
  1427. dwHeadersLength : DWORD;
  1428. dwHeadersTotal : DWORD;
  1429. lpvBuffer : LPVOID;
  1430. dwBufferLength : DWORD;
  1431. dwBufferTotal : DWORD;
  1432. dwOffsetLow : DWORD;
  1433. dwOffsetHigh : DWORD;
  1434. end;
  1435. INTERNET_BUFFERSW = _INTERNET_BUFFERSW;
  1436. TINTERNET_BUFFERSW = _INTERNET_BUFFERSW;
  1437. PINTERNET_BUFFERSW = LPINTERNET_BUFFERSW;
  1438. TINTERNETBUFFERSW = TINTERNET_BUFFERSW;
  1439. PINTERNETBUFFERSW = PINTERNET_BUFFERSW;
  1440. {$ifdef UNICODE}
  1441. INTERNET_BUFFERS = INTERNET_BUFFERSW;
  1442. LPINTERNET_BUFFERS = LPINTERNET_BUFFERSW;
  1443. TINTERNET_BUFFERS = INTERNET_BUFFERSW;
  1444. PINTERNET_BUFFERS = LPINTERNET_BUFFERSW;
  1445. {$else}
  1446. INTERNET_BUFFERS = INTERNET_BUFFERSA;
  1447. LPINTERNET_BUFFERS = LPINTERNET_BUFFERSA;
  1448. TINTERNET_BUFFERS = INTERNET_BUFFERSA;
  1449. PINTERNET_BUFFERS = LPINTERNET_BUFFERSA;
  1450. {$endif}
  1451. TINTERNETBUFFERS = TINTERNET_BUFFERS;
  1452. PINTERNETBUFFERS = PINTERNET_BUFFERS;
  1453. IncomingCookieState = record
  1454. cSession : longint;
  1455. cPersistent : longint;
  1456. cAccepted : longint;
  1457. cLeashed : longint;
  1458. cDowngraded : longint;
  1459. cBlocked : longint;
  1460. pszLocation : ^char;
  1461. end;
  1462. TIncomingCookieState = IncomingCookieState;
  1463. PIncomingCookieState = ^IncomingCookieState;
  1464. LPIncomingCookieState = PIncomingCookieState;
  1465. OutgoingCookieState = record
  1466. cSent : longint;
  1467. cSuppressed : longint;
  1468. pszLocation : ^char;
  1469. end;
  1470. ToutgoingCookieState = outgoingCookieState;
  1471. PoutgoingCookieState = ^outgoingCookieState;
  1472. LPoutgoingCookieState = PoutgoingCookieState;
  1473. InternetCookieHistory = record
  1474. fAccepted : BOOL;
  1475. fLeashed : BOOL;
  1476. fDowngraded : BOOL;
  1477. fRejected : BOOL;
  1478. end;
  1479. TInternetCookieHistory = InternetCookieHistory;
  1480. PInternetCookieHistory = ^InternetCookieHistory;
  1481. LPInternetCookieHistory = PInternetCookieHistory;
  1482. CookieDecision = record
  1483. dwCookieState : DWORD;
  1484. fAllowSession : BOOL;
  1485. end;
  1486. TCookieDecision = CookieDecision;
  1487. PCookieDecision = ^CookieDecision;
  1488. LPCookieDecision = PCookieDecision;
  1489. GOPHER_FIND_DATAA = record
  1490. DisplayString : array[0..(MAX_GOPHER_DISPLAY_TEXT+1)-1] of CHAR;
  1491. GopherType : DWORD;
  1492. SizeLow : DWORD;
  1493. SizeHigh : DWORD;
  1494. LastModificationTime : FILETIME;
  1495. Locator : array[0..(MAX_GOPHER_LOCATOR_LENGTH+1)-1] of CHAR;
  1496. end;
  1497. LPGOPHER_FIND_DATAA = ^GOPHER_FIND_DATAA;
  1498. TGOPHER_FIND_DATAA = GOPHER_FIND_DATAA;
  1499. PGOPHER_FIND_DATAA = LPGOPHER_FIND_DATAA;
  1500. GOPHER_FIND_DATAW = record
  1501. DisplayString : array[0..(MAX_GOPHER_DISPLAY_TEXT+1)-1] of WCHAR;
  1502. GopherType : DWORD;
  1503. SizeLow : DWORD;
  1504. SizeHigh : DWORD;
  1505. LastModificationTime : FILETIME;
  1506. Locator : array[0..(MAX_GOPHER_LOCATOR_LENGTH+1)-1] of WCHAR;
  1507. end;
  1508. LPGOPHER_FIND_DATAW = ^GOPHER_FIND_DATAW;
  1509. TGOPHER_FIND_DATAW = GOPHER_FIND_DATAW;
  1510. PGOPHER_FIND_DATAW = LPGOPHER_FIND_DATAW;
  1511. {$ifdef UNICODE}
  1512. GOPHER_FIND_DATA = GOPHER_FIND_DATAW;
  1513. LPGOPHER_FIND_DATA = LPGOPHER_FIND_DATAW;
  1514. TGOPHER_FIND_DATA = GOPHER_FIND_DATAW;
  1515. PGOPHER_FIND_DATA = LPGOPHER_FIND_DATAW;
  1516. {$else}
  1517. GOPHER_FIND_DATA = GOPHER_FIND_DATAA;
  1518. LPGOPHER_FIND_DATA = LPGOPHER_FIND_DATAA;
  1519. TGOPHER_FIND_DATA = GOPHER_FIND_DATAA;
  1520. PGOPHER_FIND_DATA = LPGOPHER_FIND_DATAA;
  1521. {$endif}
  1522. GOPHER_ADMIN_ATTRIBUTE_TYPE = record
  1523. Comment : LPCTSTR;
  1524. EmailAddress : LPCTSTR;
  1525. end;
  1526. TGOPHER_ADMIN_ATTRIBUTE_TYPE = GOPHER_ADMIN_ATTRIBUTE_TYPE;
  1527. LPGOPHER_ADMIN_ATTRIBUTE_TYPE = ^GOPHER_ADMIN_ATTRIBUTE_TYPE;
  1528. PGOPHER_ADMIN_ATTRIBUTE_TYPE = LPGOPHER_ADMIN_ATTRIBUTE_TYPE;
  1529. GOPHER_MOD_DATE_ATTRIBUTE_TYPE = record
  1530. DateAndTime : FILETIME;
  1531. end;
  1532. TGOPHER_MOD_DATE_ATTRIBUTE_TYPE = GOPHER_MOD_DATE_ATTRIBUTE_TYPE;
  1533. LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE = ^GOPHER_MOD_DATE_ATTRIBUTE_TYPE;
  1534. PGOPHER_MOD_DATE_ATTRIBUTE_TYPE = LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE;
  1535. GOPHER_TTL_ATTRIBUTE_TYPE = record
  1536. Ttl : DWORD;
  1537. end;
  1538. TGOPHER_TTL_ATTRIBUTE_TYPE = GOPHER_TTL_ATTRIBUTE_TYPE;
  1539. LPGOPHER_TTL_ATTRIBUTE_TYPE = ^GOPHER_TTL_ATTRIBUTE_TYPE;
  1540. PGOPHER_TTL_ATTRIBUTE_TYPE = LPGOPHER_TTL_ATTRIBUTE_TYPE;
  1541. GOPHER_SCORE_ATTRIBUTE_TYPE = record
  1542. Score : WINT;
  1543. end;
  1544. TGOPHER_SCORE_ATTRIBUTE_TYPE = GOPHER_SCORE_ATTRIBUTE_TYPE;
  1545. LPGOPHER_SCORE_ATTRIBUTE_TYPE = ^GOPHER_SCORE_ATTRIBUTE_TYPE;
  1546. PGOPHER_SCORE_ATTRIBUTE_TYPE = LPGOPHER_SCORE_ATTRIBUTE_TYPE;
  1547. GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE = record
  1548. LowerBound : WINT;
  1549. UpperBound : WINT;
  1550. end;
  1551. TGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE = GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE;
  1552. LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE = ^GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE;
  1553. PGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE = LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE;
  1554. GOPHER_SITE_ATTRIBUTE_TYPE = record
  1555. Site : LPCTSTR;
  1556. end;
  1557. TGOPHER_SITE_ATTRIBUTE_TYPE = GOPHER_SITE_ATTRIBUTE_TYPE;
  1558. LPGOPHER_SITE_ATTRIBUTE_TYPE = ^GOPHER_SITE_ATTRIBUTE_TYPE;
  1559. PGOPHER_SITE_ATTRIBUTE_TYPE = LPGOPHER_SITE_ATTRIBUTE_TYPE;
  1560. GOPHER_ORGANIZATION_ATTRIBUTE_TYPE = record
  1561. Organization : LPCTSTR;
  1562. end;
  1563. TGOPHER_ORGANIZATION_ATTRIBUTE_TYPE = GOPHER_ORGANIZATION_ATTRIBUTE_TYPE;
  1564. LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE = ^GOPHER_ORGANIZATION_ATTRIBUTE_TYPE;
  1565. PGOPHER_ORGANIZATION_ATTRIBUTE_TYPE = LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE;
  1566. GOPHER_LOCATION_ATTRIBUTE_TYPE = record
  1567. Location : LPCTSTR;
  1568. end;
  1569. TGOPHER_LOCATION_ATTRIBUTE_TYPE = GOPHER_LOCATION_ATTRIBUTE_TYPE;
  1570. LPGOPHER_LOCATION_ATTRIBUTE_TYPE = ^GOPHER_LOCATION_ATTRIBUTE_TYPE;
  1571. PGOPHER_LOCATION_ATTRIBUTE_TYPE = LPGOPHER_LOCATION_ATTRIBUTE_TYPE;
  1572. GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE = record
  1573. DegreesNorth : WINT;
  1574. MinutesNorth : WINT;
  1575. SecondsNorth : WINT;
  1576. DegreesEast : WINT;
  1577. MinutesEast : WINT;
  1578. SecondsEast : WINT;
  1579. end;
  1580. TGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE = GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE;
  1581. LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE = ^GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE;
  1582. PGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE = LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE;
  1583. GOPHER_TIMEZONE_ATTRIBUTE_TYPE = record
  1584. Zone : WINT;
  1585. end;
  1586. TGOPHER_TIMEZONE_ATTRIBUTE_TYPE = GOPHER_TIMEZONE_ATTRIBUTE_TYPE;
  1587. LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE = ^GOPHER_TIMEZONE_ATTRIBUTE_TYPE;
  1588. PGOPHER_TIMEZONE_ATTRIBUTE_TYPE = LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE;
  1589. GOPHER_PROVIDER_ATTRIBUTE_TYPE = record
  1590. Provider : LPCTSTR;
  1591. end;
  1592. TGOPHER_PROVIDER_ATTRIBUTE_TYPE = GOPHER_PROVIDER_ATTRIBUTE_TYPE;
  1593. LPGOPHER_PROVIDER_ATTRIBUTE_TYPE = ^GOPHER_PROVIDER_ATTRIBUTE_TYPE;
  1594. PGOPHER_PROVIDER_ATTRIBUTE_TYPE = LPGOPHER_PROVIDER_ATTRIBUTE_TYPE;
  1595. GOPHER_VERSION_ATTRIBUTE_TYPE = record
  1596. Version : LPCTSTR;
  1597. end;
  1598. TGOPHER_VERSION_ATTRIBUTE_TYPE = GOPHER_VERSION_ATTRIBUTE_TYPE;
  1599. LPGOPHER_VERSION_ATTRIBUTE_TYPE = ^GOPHER_VERSION_ATTRIBUTE_TYPE;
  1600. PGOPHER_VERSION_ATTRIBUTE_TYPE = LPGOPHER_VERSION_ATTRIBUTE_TYPE;
  1601. GOPHER_ABSTRACT_ATTRIBUTE_TYPE = record
  1602. ShortAbstract : LPCTSTR;
  1603. AbstractFile : LPCTSTR;
  1604. end;
  1605. TGOPHER_ABSTRACT_ATTRIBUTE_TYPE = GOPHER_ABSTRACT_ATTRIBUTE_TYPE;
  1606. LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE = ^GOPHER_ABSTRACT_ATTRIBUTE_TYPE;
  1607. PGOPHER_ABSTRACT_ATTRIBUTE_TYPE = LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE;
  1608. GOPHER_VIEW_ATTRIBUTE_TYPE = record
  1609. ContentType : LPCTSTR;
  1610. Language : LPCTSTR;
  1611. Size : DWORD;
  1612. end;
  1613. TGOPHER_VIEW_ATTRIBUTE_TYPE = GOPHER_VIEW_ATTRIBUTE_TYPE;
  1614. LPGOPHER_VIEW_ATTRIBUTE_TYPE = ^GOPHER_VIEW_ATTRIBUTE_TYPE;
  1615. PGOPHER_VIEW_ATTRIBUTE_TYPE = LPGOPHER_VIEW_ATTRIBUTE_TYPE;
  1616. GOPHER_VERONICA_ATTRIBUTE_TYPE = record
  1617. TreeWalk : BOOL;
  1618. end;
  1619. TGOPHER_VERONICA_ATTRIBUTE_TYPE = GOPHER_VERONICA_ATTRIBUTE_TYPE;
  1620. LPGOPHER_VERONICA_ATTRIBUTE_TYPE = ^GOPHER_VERONICA_ATTRIBUTE_TYPE;
  1621. PGOPHER_VERONICA_ATTRIBUTE_TYPE = LPGOPHER_VERONICA_ATTRIBUTE_TYPE;
  1622. GOPHER_ASK_ATTRIBUTE_TYPE = record
  1623. QuestionType : LPCTSTR;
  1624. QuestionText : LPCTSTR;
  1625. end;
  1626. TGOPHER_ASK_ATTRIBUTE_TYPE = GOPHER_ASK_ATTRIBUTE_TYPE;
  1627. LPGOPHER_ASK_ATTRIBUTE_TYPE = ^GOPHER_ASK_ATTRIBUTE_TYPE;
  1628. PGOPHER_ASK_ATTRIBUTE_TYPE = LPGOPHER_ASK_ATTRIBUTE_TYPE;
  1629. GOPHER_UNKNOWN_ATTRIBUTE_TYPE = record
  1630. Text : LPCTSTR;
  1631. end;
  1632. TGOPHER_UNKNOWN_ATTRIBUTE_TYPE = GOPHER_UNKNOWN_ATTRIBUTE_TYPE;
  1633. LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE = ^GOPHER_UNKNOWN_ATTRIBUTE_TYPE;
  1634. PGOPHER_UNKNOWN_ATTRIBUTE_TYPE = LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE;
  1635. GOPHER_ATTRIBUTE_TYPE = record
  1636. CategoryId : DWORD;
  1637. AttributeId : DWORD;
  1638. AttributeType : record
  1639. case longint of
  1640. 0 : ( Admin : GOPHER_ADMIN_ATTRIBUTE_TYPE );
  1641. 1 : ( ModDate : GOPHER_MOD_DATE_ATTRIBUTE_TYPE );
  1642. 2 : ( Ttl : GOPHER_TTL_ATTRIBUTE_TYPE );
  1643. 3 : ( Score : GOPHER_SCORE_ATTRIBUTE_TYPE );
  1644. 4 : ( ScoreRange : GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE );
  1645. 5 : ( Site : GOPHER_SITE_ATTRIBUTE_TYPE );
  1646. 6 : ( Organization : GOPHER_ORGANIZATION_ATTRIBUTE_TYPE );
  1647. 7 : ( Location : GOPHER_LOCATION_ATTRIBUTE_TYPE );
  1648. 8 : ( GeographicalLocation : GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE );
  1649. 9 : ( TimeZone : GOPHER_TIMEZONE_ATTRIBUTE_TYPE );
  1650. 10 : ( Provider : GOPHER_PROVIDER_ATTRIBUTE_TYPE );
  1651. 11 : ( Version : GOPHER_VERSION_ATTRIBUTE_TYPE );
  1652. 12 : ( Abstract : GOPHER_ABSTRACT_ATTRIBUTE_TYPE );
  1653. 13 : ( View : GOPHER_VIEW_ATTRIBUTE_TYPE );
  1654. 14 : ( Veronica : GOPHER_VERONICA_ATTRIBUTE_TYPE );
  1655. 15 : ( Ask : GOPHER_ASK_ATTRIBUTE_TYPE );
  1656. 16 : ( Unknown : GOPHER_UNKNOWN_ATTRIBUTE_TYPE );
  1657. end;
  1658. end;
  1659. TGOPHER_ATTRIBUTE_TYPE = GOPHER_ATTRIBUTE_TYPE;
  1660. LPGOPHER_ATTRIBUTE_TYPE = ^GOPHER_ATTRIBUTE_TYPE;
  1661. PGOPHER_ATTRIBUTE_TYPE = LPGOPHER_ATTRIBUTE_TYPE;
  1662. INTERNET_STATUS_CALLBACK = procedure (hInternet:HINTERNET; dwContext:DWORD_PTR; dwInternetStatus:DWORD; lpvStatusInformation:LPVOID; dwStatusInformationLength:DWORD);stdcall;
  1663. LPINTERNET_STATUS_CALLBACK = INTERNET_STATUS_CALLBACK; // ??
  1664. GOPHER_ATTRIBUTE_ENUMERATOR = function (lpAttributeInfo:LPGOPHER_ATTRIBUTE_TYPE; dwError:DWORD):BOOL;stdcall;
  1665. PFN_AUTH_NOTIFY = function (dwContext:DWORD_PTR; dwReturn:DWORD; lpreserved:LPVOID):DWORD;stdcall;
  1666. InternetAuthNotifyCallback = PFN_AUTH_NOTIFY;
  1667. _INTERNET_CACHE_ENTRY_INFOA = record
  1668. dwStructSize : DWORD;
  1669. lpszSourceUrlName : LPSTR;
  1670. lpszLocalFileName : LPSTR;
  1671. CacheEntryType : DWORD;
  1672. dwUseCount : DWORD;
  1673. dwHitRate : DWORD;
  1674. dwSizeLow : DWORD;
  1675. dwSizeHigh : DWORD;
  1676. LastModifiedTime : FILETIME;
  1677. ExpireTime : FILETIME;
  1678. LastAccessTime : FILETIME;
  1679. LastSyncTime : FILETIME;
  1680. lpHeaderInfo : LPSTR;
  1681. dwHeaderInfoSize : DWORD;
  1682. lpszFileExtension : LPSTR;
  1683. case longint of
  1684. 0 : ( dwReserved : DWORD );
  1685. 1 : ( dwExemptDelta : DWORD );
  1686. end;
  1687. TINTERNET_CACHE_ENTRY_INFOA = _INTERNET_CACHE_ENTRY_INFOA;
  1688. INTERNET_CACHE_ENTRY_INFOA = _INTERNET_CACHE_ENTRY_INFOA;
  1689. PINTERNET_CACHE_ENTRY_INFOA = ^INTERNET_CACHE_ENTRY_INFOA;
  1690. LPINTERNET_CACHE_ENTRY_INFOA = PINTERNET_CACHE_ENTRY_INFOA;
  1691. PLPINTERNET_CACHE_ENTRY_INFOA = ^LPINTERNET_CACHE_ENTRY_INFOA;
  1692. _INTERNET_CACHE_ENTRY_INFOW = record
  1693. dwStructSize : DWORD;
  1694. lpszSourceUrlName : LPWSTR;
  1695. lpszLocalFileName : LPWSTR;
  1696. CacheEntryType : DWORD;
  1697. dwUseCount : DWORD;
  1698. dwHitRate : DWORD;
  1699. dwSizeLow : DWORD;
  1700. dwSizeHigh : DWORD;
  1701. LastModifiedTime : FILETIME;
  1702. ExpireTime : FILETIME;
  1703. LastAccessTime : FILETIME;
  1704. LastSyncTime : FILETIME;
  1705. lpHeaderInfo : LPWSTR;
  1706. dwHeaderInfoSize : DWORD;
  1707. lpszFileExtension : LPWSTR;
  1708. case longint of
  1709. 0 : ( dwReserved : DWORD );
  1710. 1 : ( dwExemptDelta : DWORD );
  1711. end;
  1712. INTERNET_CACHE_ENTRY_INFOW = _INTERNET_CACHE_ENTRY_INFOW;
  1713. TINTERNET_CACHE_ENTRY_INFOW = _INTERNET_CACHE_ENTRY_INFOW;
  1714. PINTERNET_CACHE_ENTRY_INFOW = ^INTERNET_CACHE_ENTRY_INFOW;
  1715. LPINTERNET_CACHE_ENTRY_INFOW = PINTERNET_CACHE_ENTRY_INFOW;
  1716. PLPINTERNET_CACHE_ENTRY_INFOW = ^LPINTERNET_CACHE_ENTRY_INFOW;
  1717. {$ifdef UNICODE}
  1718. INTERNET_CACHE_ENTRY_INFO = INTERNET_CACHE_ENTRY_INFOW;
  1719. LPINTERNET_CACHE_ENTRY_INFO = LPINTERNET_CACHE_ENTRY_INFOW;
  1720. TINTERNET_CACHE_ENTRY_INFO = INTERNET_CACHE_ENTRY_INFOW;
  1721. PINTERNET_CACHE_ENTRY_INFO = LPINTERNET_CACHE_ENTRY_INFOW;
  1722. {$else}
  1723. INTERNET_CACHE_ENTRY_INFO = INTERNET_CACHE_ENTRY_INFOA;
  1724. LPINTERNET_CACHE_ENTRY_INFO = LPINTERNET_CACHE_ENTRY_INFOA;
  1725. TINTERNET_CACHE_ENTRY_INFO = INTERNET_CACHE_ENTRY_INFOA;
  1726. PINTERNET_CACHE_ENTRY_INFO = LPINTERNET_CACHE_ENTRY_INFOA;
  1727. {$endif}
  1728. PINTERNETCACHEENTRYINFO = PINTERNET_CACHE_ENTRY_INFO;
  1729. TINTERNETCACHEENTRYINFO = TINTERNET_CACHE_ENTRY_INFO;
  1730. INTERNET_AUTH_NOTIFY_DATA = record
  1731. cbStruct : DWORD;
  1732. dwOptions : DWORD;
  1733. pfnNotify : PFN_AUTH_NOTIFY;
  1734. dwContext : DWORD_PTR;
  1735. end;
  1736. TINTERNET_AUTH_NOTIFY_DATA = INTERNET_AUTH_NOTIFY_DATA;
  1737. PINTERNET_AUTH_NOTIFY_DATA = ^INTERNET_AUTH_NOTIFY_DATA;
  1738. LPINTERNET_AUTH_NOTIFY_DATA = PINTERNET_AUTH_NOTIFY_DATA;
  1739. _INTERNET_CACHE_TIMESTAMPS = record
  1740. ftExpires : FILETIME;
  1741. ftLastModified : FILETIME;
  1742. end;
  1743. INTERNET_CACHE_TIMESTAMPS = _INTERNET_CACHE_TIMESTAMPS;
  1744. LPINTERNET_CACHE_TIMESTAMPS = ^_INTERNET_CACHE_TIMESTAMPS;
  1745. TINTERNET_CACHE_TIMESTAMPS = _INTERNET_CACHE_TIMESTAMPS;
  1746. PINTERNET_CACHE_TIMESTAMPS = LPINTERNET_CACHE_TIMESTAMPS;
  1747. _INTERNET_CACHE_GROUP_INFOA = record
  1748. dwGroupSize : DWORD;
  1749. dwGroupFlags : DWORD;
  1750. dwGroupType : DWORD;
  1751. dwDiskUsage : DWORD;
  1752. dwDiskQuota : DWORD;
  1753. dwOwnerStorage : array[0..(GROUP_OWNER_STORAGE_SIZE)-1] of DWORD;
  1754. szGroupName : array[0..(GROUPNAME_MAX_LENGTH)-1] of CHAR;
  1755. end;
  1756. INTERNET_CACHE_GROUP_INFOA = _INTERNET_CACHE_GROUP_INFOA;
  1757. LPINTERNET_CACHE_GROUP_INFOA = ^_INTERNET_CACHE_GROUP_INFOA;
  1758. TINTERNET_CACHE_GROUP_INFOA = _INTERNET_CACHE_GROUP_INFOA;
  1759. PINTERNET_CACHE_GROUP_INFOA = LPINTERNET_CACHE_GROUP_INFOA;
  1760. _INTERNET_CACHE_GROUP_INFOW = record
  1761. dwGroupSize : DWORD;
  1762. dwGroupFlags : DWORD;
  1763. dwGroupType : DWORD;
  1764. dwDiskUsage : DWORD;
  1765. dwDiskQuota : DWORD;
  1766. dwOwnerStorage : array[0..(GROUP_OWNER_STORAGE_SIZE)-1] of DWORD;
  1767. szGroupName : array[0..(GROUPNAME_MAX_LENGTH)-1] of WCHAR;
  1768. end;
  1769. INTERNET_CACHE_GROUP_INFOW = _INTERNET_CACHE_GROUP_INFOW;
  1770. LPINTERNET_CACHE_GROUP_INFOW = ^_INTERNET_CACHE_GROUP_INFOW;
  1771. TINTERNET_CACHE_GROUP_INFOW = _INTERNET_CACHE_GROUP_INFOW;
  1772. PINTERNET_CACHE_GROUP_INFOW = LPINTERNET_CACHE_GROUP_INFOW;
  1773. {$ifdef UNICODE}
  1774. INTERNET_CACHE_GROUP_INFO = INTERNET_CACHE_GROUP_INFOW;
  1775. LPINTERNET_CACHE_GROUP_INFO = LPINTERNET_CACHE_GROUP_INFOW;
  1776. TINTERNET_CACHE_GROUP_INFO = INTERNET_CACHE_GROUP_INFOW;
  1777. PINTERNET_CACHE_GROUP_INFO = LPINTERNET_CACHE_GROUP_INFOW;
  1778. {$else}
  1779. INTERNET_CACHE_GROUP_INFO = INTERNET_CACHE_GROUP_INFOA;
  1780. LPINTERNET_CACHE_GROUP_INFO = LPINTERNET_CACHE_GROUP_INFOA;
  1781. TINTERNET_CACHE_GROUP_INFO = INTERNET_CACHE_GROUP_INFOA;
  1782. PINTERNET_CACHE_GROUP_INFO = LPINTERNET_CACHE_GROUP_INFOA;
  1783. {$endif}
  1784. AUTO_PROXY_SCRIPT_BUFFER = record
  1785. dwStructSize : DWORD;
  1786. lpszScriptBuffer : LPSTR;
  1787. dwScriptBufferSize : DWORD;
  1788. end;
  1789. LPAUTO_PROXY_SCRIPT_BUFFER = ^AUTO_PROXY_SCRIPT_BUFFER;
  1790. TAUTO_PROXY_SCRIPT_BUFFER = AUTO_PROXY_SCRIPT_BUFFER;
  1791. PAUTO_PROXY_SCRIPT_BUFFER = LPAUTO_PROXY_SCRIPT_BUFFER;
  1792. TIsResolvable = function (lpszHost:LPSTR):BOOL;stdcall;
  1793. TGetIPAddress = function (lpszIPAddress:LPSTR; lpdwIPAddressSize:LPDWORD):DWORD; stdcall;
  1794. TResolveHostName = function (lpszHostName:LPSTR; lpszIPAddress:LPSTR; lpdwIPAddressSize:LPDWORD):DWORD; stdcall;
  1795. TIsInNet = function (lpszIPAddress:LPSTR; lpszDest:LPSTR; lpszMask:LPSTR):BOOL; stdcall;
  1796. TIsResolvableEx = function (lpszHost:LPSTR):BOOL; stdcall;
  1797. TGetIPAddressEx = function (lpszIPAddress:LPSTR; lpdwIPAddressSize:LPDWORD):DWORD; stdcall;
  1798. TResolveHostNameEx = function (lpszHostName:LPSTR; lpszIPAddress:LPSTR; lpdwIPAddressSize:LPDWORD):DWORD; stdcall;
  1799. TIsInNetEx = function (lpszIPAddress:LPSTR; lpszIPPrefix:LPSTR):BOOL; stdcall;
  1800. TSortIpList = function (lpszIPAddressList:LPSTR; lpszIPSortedList:LPSTR; lpdwIPSortedListSize:LPDWORD):DWORD; stdcall;
  1801. PAutoProxyHelperVtbl = ^AutoProxyHelperVtbl;
  1802. AutoProxyHelperVtbl = record
  1803. IsResolvable : TIsResolvable;
  1804. GetIPAddress : TGetIPAddress;
  1805. ResolveHostName : TResolveHostName;
  1806. IsInNet : TIsInNet;
  1807. IsResolvableEx : TIsResolvableEx;
  1808. GetIPAddressEx : TGetIPAddressEx;
  1809. ResolveHostNameEx : TResolveHostNameEx;
  1810. IsInNetEx : TIsInNetEx;
  1811. SortIpList : TSortIpList;
  1812. end;
  1813. PAutoProxyHelperFunctions = ^AutoProxyHelperFunctions;
  1814. AutoProxyHelperFunctions = record
  1815. lpVtbl : PAutoProxyHelperVtbl;
  1816. end;
  1817. pfnInternetInitializeAutoProxyDll = function (dwVersion:DWORD; lpszDownloadedTempFile:LPSTR; lpszMime:LPSTR; lpAutoProxyCallbacks:pAutoProxyHelperFunctions; lpAutoProxyScriptBuffer:LPAUTO_PROXY_SCRIPT_BUFFER):BOOL;stdcall;
  1818. pfnInternetDeInitializeAutoProxyDll = function (lpszMime:LPSTR; dwReserved:DWORD):BOOL;stdcall;
  1819. pfnInternetGetProxyInfo = function (lpszUrl:LPCSTR; dwUrlLength:DWORD; lpszUrlHostName:LPSTR; dwUrlHostNameLength:DWORD; lplpszProxyHostName:pLPSTR;
  1820. lpdwProxyHostNameLength:LPDWORD):BOOL;stdcall;
  1821. PFN_DIAL_HANDLER = function (_para1:HWND; _para2:LPCSTR; _para3:DWORD; _para4:LPDWORD):DWORD;stdcall;
  1822. function InternetTimeFromSystemTimeA(pst:PSYSTEMTIME; dwRFC:DWORD; lpszTime:LPSTR; cbTime:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetTimeFromSystemTimeA';
  1823. function InternetTimeFromSystemTimeW(pst:PSYSTEMTIME; dwRFC:DWORD; lpszTime:LPWSTR; cbTime:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetTimeFromSystemTimeW';
  1824. function InternetTimeToSystemTimeA(lpszTime:LPCSTR; pst:PSYSTEMTIME; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetTimeToSystemTimeA';
  1825. function InternetTimeToSystemTimeW(lpszTime:LPCWSTR; pst:PSYSTEMTIME; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetTimeToSystemTimeW';
  1826. function InternetCanonicalizeUrlA(lpszUrl:LPCSTR; lpszBuffer:LPSTR; lpdwBufferLength:LPDWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCanonicalizeUrlA';
  1827. function InternetCanonicalizeUrlW(lpszUrl:LPCWSTR; lpszBuffer:LPWSTR; lpdwBufferLength:LPDWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCanonicalizeUrlW';
  1828. function InternetCombineUrlA(lpszBaseUrl:LPCSTR; lpszRelativeUrl:LPCSTR; lpszBuffer:LPSTR; lpdwBufferLength:LPDWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCombineUrlA';
  1829. function InternetCombineUrlW(lpszBaseUrl:LPCWSTR; lpszRelativeUrl:LPCWSTR; lpszBuffer:LPWSTR; lpdwBufferLength:LPDWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCombineUrlW';
  1830. function InternetOpenA(lpszAgent:LPCSTR; dwAccessType:DWORD; lpszProxy:LPCSTR; lpszProxyBypass:LPCSTR; dwFlags:DWORD):HINTERNET;stdcall;external WININETLIBNAME name 'InternetOpenA';
  1831. function InternetOpenW(lpszAgent:LPCWSTR; dwAccessType:DWORD; lpszProxy:LPCWSTR; lpszProxyBypass:LPCWSTR; dwFlags:DWORD):HINTERNET;stdcall;external WININETLIBNAME name 'InternetOpenW';
  1832. function InternetCloseHandle(hInternet:HINTERNET):BOOL;stdcall;external WININETLIBNAME name 'InternetCloseHandle';
  1833. function InternetConnectA(hInternet:HINTERNET; lpszServerName:LPCSTR; nServerPort:INTERNET_PORT; lpszUserName:LPCSTR; lpszPassword:LPCSTR;
  1834. dwService:DWORD; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'InternetConnectA';
  1835. function InternetConnectW(hInternet:HINTERNET; lpszServerName:LPCWSTR; nServerPort:INTERNET_PORT; lpszUserName:LPCWSTR; lpszPassword:LPCWSTR;
  1836. dwService:DWORD; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'InternetConnectW';
  1837. function InternetOpenUrlA(hInternet:HINTERNET; lpszUrl:LPCSTR; lpszHeaders:LPCSTR; dwHeadersLength:DWORD; dwFlags:DWORD;
  1838. dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'InternetOpenUrlA';
  1839. function InternetOpenUrlW(hInternet:HINTERNET; lpszUrl:LPCWSTR; lpszHeaders:LPCWSTR; dwHeadersLength:DWORD; dwFlags:DWORD;
  1840. dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'InternetOpenUrlW';
  1841. function InternetReadFile(hFile:HINTERNET; lpBuffer:LPVOID; dwNumberOfBytesToRead:DWORD; lpdwNumberOfBytesRead:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetReadFile';
  1842. function InternetReadFileExA(hFile:HINTERNET; lpBuffersOut:LPINTERNET_BUFFERSA; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'InternetReadFileExA';
  1843. function InternetReadFileExW(hFile:HINTERNET; lpBuffersOut:LPINTERNET_BUFFERSW; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'InternetReadFileExW';
  1844. function InternetSetFilePointer(hFile:HINTERNET; lDistanceToMove:LONG; pReserved:PVOID; dwMoveMethod:DWORD; dwContext:DWORD_PTR):DWORD;stdcall;external WININETLIBNAME name 'InternetSetFilePointer';
  1845. function InternetWriteFile(hFile:HINTERNET; lpBuffer:LPCVOID; dwNumberOfBytesToWrite:DWORD; lpdwNumberOfBytesWritten:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetWriteFile';
  1846. function InternetQueryDataAvailable(hFile:HINTERNET; lpdwNumberOfBytesAvailable:LPDWORD; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'InternetQueryDataAvailable';
  1847. function InternetFindNextFileA(hFind:HINTERNET; lpvFindData:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'InternetFindNextFileA';
  1848. function InternetFindNextFileW(hFind:HINTERNET; lpvFindData:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'InternetFindNextFileW';
  1849. function InternetQueryOptionA(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; lpdwBufferLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetQueryOptionA';
  1850. function InternetQueryOptionW(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; lpdwBufferLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetQueryOptionW';
  1851. function InternetSetOptionA(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; dwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetOptionA';
  1852. function InternetSetOptionW(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; dwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetOptionW';
  1853. function InternetSetOptionExA(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; dwBufferLength:DWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetOptionExA';
  1854. function InternetSetOptionExW(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; dwBufferLength:DWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetOptionExW';
  1855. function InternetLockRequestFile(hInternet:HINTERNET; lphLockRequestInfo:PHANDLE):BOOL;stdcall;external WININETLIBNAME name 'InternetLockRequestFile';
  1856. function InternetUnlockRequestFile(hLockRequestInfo:HANDLE):BOOL;stdcall;external WININETLIBNAME name 'InternetUnlockRequestFile';
  1857. function InternetGetLastResponseInfoA(lpdwError:LPDWORD; lpszBuffer:LPSTR; lpdwBufferLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetLastResponseInfoA';
  1858. function InternetGetLastResponseInfoW(lpdwError:LPDWORD; lpszBuffer:LPWSTR; lpdwBufferLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetLastResponseInfoW';
  1859. function InternetSetStatusCallbackA(hInternet:HINTERNET; lpfnInternetCallback:INTERNET_STATUS_CALLBACK):INTERNET_STATUS_CALLBACK;stdcall;external WININETLIBNAME name 'InternetSetStatusCallbackA';
  1860. function InternetSetStatusCallbackW(hInternet:HINTERNET; lpfnInternetCallback:INTERNET_STATUS_CALLBACK):INTERNET_STATUS_CALLBACK;stdcall;external WININETLIBNAME name 'InternetSetStatusCallbackW';
  1861. function FtpFindFirstFileA(hConnect:HINTERNET; lpszSearchFile:LPCSTR; lpFindFileData:LPWIN32_FIND_DATA; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'FtpFindFirstFileA';
  1862. function FtpFindFirstFileW(hConnect:HINTERNET; lpszSearchFile:LPCWSTR; lpFindFileData:LPWIN32_FIND_DATAW; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'FtpFindFirstFileW';
  1863. function FtpGetFileA(hConnect:HINTERNET; lpszRemoteFile:LPCSTR; lpszNewFile:LPCSTR; fFailIfExists:BOOL; dwFlagsAndAttributes:DWORD;
  1864. dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'FtpGetFileA';
  1865. function FtpGetFileW(hConnect:HINTERNET; lpszRemoteFile:LPCWSTR; lpszNewFile:LPCWSTR; fFailIfExists:BOOL; dwFlagsAndAttributes:DWORD;
  1866. dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'FtpGetFileW';
  1867. function FtpPutFileA(hConnect:HINTERNET; lpszLocalFile:LPCSTR; lpszNewRemoteFile:LPCSTR; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'FtpPutFileA';
  1868. function FtpPutFileW(hConnect:HINTERNET; lpszLocalFile:LPCWSTR; lpszNewRemoteFile:LPCWSTR; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'FtpPutFileW';
  1869. function FtpGetFileEx(hFtpSession:HINTERNET; lpszRemoteFile:LPCSTR; lpszNewFile:LPCWSTR; fFailIfExists:BOOL; dwFlagsAndAttributes:DWORD;
  1870. dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'FtpGetFileEx';
  1871. function FtpPutFileEx(hFtpSession:HINTERNET; lpszLocalFile:LPCWSTR; lpszNewRemoteFile:LPCSTR; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'FtpPutFileEx';
  1872. function FtpDeleteFileA(hConnect:HINTERNET; lpszFileName:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpDeleteFileA';
  1873. function FtpDeleteFileW(hConnect:HINTERNET; lpszFileName:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpDeleteFileW';
  1874. function FtpRenameFileA(hConnect:HINTERNET; lpszExisting:LPCSTR; lpszNew:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpRenameFileA';
  1875. function FtpRenameFileW(hConnect:HINTERNET; lpszExisting:LPCWSTR; lpszNew:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpRenameFileW';
  1876. function FtpOpenFileA(hConnect:HINTERNET; lpszFileName:LPCSTR; dwAccess:DWORD; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'FtpOpenFileA';
  1877. function FtpOpenFileW(hConnect:HINTERNET; lpszFileName:LPCWSTR; dwAccess:DWORD; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'FtpOpenFileW';
  1878. function FtpCreateDirectoryA(hConnect:HINTERNET; lpszDirectory:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpCreateDirectoryA';
  1879. function FtpCreateDirectoryW(hConnect:HINTERNET; lpszDirectory:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpCreateDirectoryW';
  1880. function FtpRemoveDirectoryA(hConnect:HINTERNET; lpszDirectory:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpRemoveDirectoryA';
  1881. function FtpRemoveDirectoryW(hConnect:HINTERNET; lpszDirectory:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpRemoveDirectoryW';
  1882. function FtpSetCurrentDirectoryA(hConnect:HINTERNET; lpszDirectory:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpSetCurrentDirectoryA';
  1883. function FtpSetCurrentDirectoryW(hConnect:HINTERNET; lpszDirectory:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpSetCurrentDirectoryW';
  1884. function FtpGetCurrentDirectoryA(hConnect:HINTERNET; lpszCurrentDirectory:LPSTR; lpdwCurrentDirectory:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'FtpGetCurrentDirectoryA';
  1885. function FtpGetCurrentDirectoryW(hConnect:HINTERNET; lpszCurrentDirectory:LPWSTR; lpdwCurrentDirectory:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'FtpGetCurrentDirectoryW';
  1886. function FtpCommandA(hConnect:HINTERNET; fExpectResponse:BOOL; dwFlags:DWORD; lpszCommand:LPCSTR; dwContext:DWORD_PTR;
  1887. phFtpCommand:PHINTERNET):BOOL;stdcall;external WININETLIBNAME name 'FtpCommandA';
  1888. function FtpCommandW(hConnect:HINTERNET; fExpectResponse:BOOL; dwFlags:DWORD; lpszCommand:LPCWSTR; dwContext:DWORD_PTR;
  1889. phFtpCommand:PHINTERNET):BOOL;stdcall;external WININETLIBNAME name 'FtpCommandW';
  1890. function FtpGetFileSize(hFile:HINTERNET; lpdwFileSizeHigh:LPDWORD):DWORD;stdcall;external WININETLIBNAME name 'FtpGetFileSize';
  1891. function GopherCreateLocatorA(lpszHost:LPCSTR; nServerPort:INTERNET_PORT; lpszDisplayString:LPCSTR; lpszSelectorString:LPCSTR; dwGopherType:DWORD;
  1892. lpszLocator:LPSTR; lpdwBufferLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherCreateLocatorA';
  1893. function GopherCreateLocatorW(lpszHost:LPCWSTR; nServerPort:INTERNET_PORT; lpszDisplayString:LPCWSTR; lpszSelectorString:LPCWSTR; dwGopherType:DWORD;
  1894. lpszLocator:LPWSTR; lpdwBufferLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherCreateLocatorW';
  1895. function GopherGetLocatorTypeA(lpszLocator:LPCSTR; lpdwGopherType:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherGetLocatorTypeA';
  1896. function GopherGetLocatorTypeW(lpszLocator:LPCWSTR; lpdwGopherType:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherGetLocatorTypeW';
  1897. function GopherFindFirstFileA(hConnect:HINTERNET; lpszLocator:LPCSTR; lpszSearchString:LPCSTR; lpFindData:LPGOPHER_FIND_DATAA; dwFlags:DWORD;
  1898. dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'GopherFindFirstFileA';
  1899. function GopherFindFirstFileW(hConnect:HINTERNET; lpszLocator:LPCWSTR; lpszSearchString:LPCWSTR; lpFindData:LPGOPHER_FIND_DATAW; dwFlags:DWORD;
  1900. dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'GopherFindFirstFileW';
  1901. function GopherOpenFileA(hConnect:HINTERNET; lpszLocator:LPCSTR; lpszView:LPCSTR; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'GopherOpenFileA';
  1902. function GopherOpenFileW(hConnect:HINTERNET; lpszLocator:LPCWSTR; lpszView:LPCWSTR; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'GopherOpenFileW';
  1903. function GopherGetAttributeA(hConnect:HINTERNET; lpszLocator:LPCSTR; lpszAttributeName:LPCSTR; lpBuffer:LPBYTE; dwBufferLength:DWORD;
  1904. lpdwCharactersReturned:LPDWORD; lpfnEnumerator:GOPHER_ATTRIBUTE_ENUMERATOR; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'GopherGetAttributeA';
  1905. function GopherGetAttributeW(hConnect:HINTERNET; lpszLocator:LPCWSTR; lpszAttributeName:LPCWSTR; lpBuffer:LPBYTE; dwBufferLength:DWORD;
  1906. lpdwCharactersReturned:LPDWORD; lpfnEnumerator:GOPHER_ATTRIBUTE_ENUMERATOR; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'GopherGetAttributeW';
  1907. function HttpOpenRequestA(hConnect:HINTERNET; lpszVerb:LPCSTR; lpszObjectName:LPCSTR; lpszVersion:LPCSTR; lpszReferrer:LPCSTR;
  1908. lplpszAcceptTypes:LPPCSTR; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'HttpOpenRequestA';
  1909. function HttpOpenRequestW(hConnect:HINTERNET; lpszVerb:LPCWSTR; lpszObjectName:LPCWSTR; lpszVersion:LPCWSTR; lpszReferrer:LPCWSTR;
  1910. lplpszAcceptTypes:LPPCWSTR; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'HttpOpenRequestW';
  1911. function HttpAddRequestHeadersA(hRequest:HINTERNET; lpszHeaders:LPCSTR; dwHeadersLength:DWORD; dwModifiers:DWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpAddRequestHeadersA';
  1912. function HttpAddRequestHeadersW(hRequest:HINTERNET; lpszHeaders:LPCWSTR; dwHeadersLength:DWORD; dwModifiers:DWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpAddRequestHeadersW';
  1913. function HttpSendRequestA(hRequest:HINTERNET; lpszHeaders:LPCSTR; dwHeadersLength:DWORD; lpOptional:LPVOID; dwOptionalLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpSendRequestA';
  1914. function HttpSendRequestW(hRequest:HINTERNET; lpszHeaders:LPCWSTR; dwHeadersLength:DWORD; lpOptional:LPVOID; dwOptionalLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpSendRequestW';
  1915. function HttpSendRequestExA(hRequest:HINTERNET; lpBuffersIn:LPINTERNET_BUFFERSA; lpBuffersOut:LPINTERNET_BUFFERSA; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'HttpSendRequestExA';
  1916. function HttpSendRequestExW(hRequest:HINTERNET; lpBuffersIn:LPINTERNET_BUFFERSW; lpBuffersOut:LPINTERNET_BUFFERSW; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'HttpSendRequestExW';
  1917. function HttpEndRequestA(hRequest:HINTERNET; lpBuffersOut:LPINTERNET_BUFFERSA; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'HttpEndRequestA';
  1918. function HttpEndRequestW(hRequest:HINTERNET; lpBuffersOut:LPINTERNET_BUFFERSW; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'HttpEndRequestW';
  1919. function HttpQueryInfoA(hRequest:HINTERNET; dwInfoLevel:DWORD; lpBuffer:LPVOID; lpdwBufferLength:LPDWORD; lpdwIndex:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpQueryInfoA';
  1920. function HttpQueryInfoW(hRequest:HINTERNET; dwInfoLevel:DWORD; lpBuffer:LPVOID; lpdwBufferLength:LPDWORD; lpdwIndex:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpQueryInfoW';
  1921. function InternetSetCookieA(lpszUrl:LPCSTR; lpszCookieName:LPCSTR; lpszCookieData:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'InternetSetCookieA';
  1922. function InternetSetCookieW(lpszUrl:LPCWSTR; lpszCookieName:LPCWSTR; lpszCookieData:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'InternetSetCookieW';
  1923. function InternetGetCookieA(lpszUrl:LPCSTR; lpszCookieName:LPCSTR; lpszCookieData:LPSTR; lpdwSize:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieA';
  1924. function InternetGetCookieW(lpszUrl:LPCWSTR; lpszCookieName:LPCWSTR; lpszCookieData:LPWSTR; lpdwSize:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieW';
  1925. function InternetSetCookieExA(lpszUrl:LPCSTR; lpszCookieName:LPCSTR; lpszCookieData:LPCSTR; dwFlags:DWORD; dwReserved:DWORD_PTR):DWORD;stdcall;external WININETLIBNAME name 'InternetSetCookieExA';
  1926. function InternetSetCookieExW(lpszUrl:LPCWSTR; lpszCookieName:LPCWSTR; lpszCookieData:LPCWSTR; dwFlags:DWORD; dwReserved:DWORD_PTR):DWORD;stdcall;external WININETLIBNAME name 'InternetSetCookieExW';
  1927. function InternetGetCookieExA(lpszUrl:LPCSTR; lpszCookieName:LPCSTR; lpszCookieData:LPSTR; lpdwSize:LPDWORD; dwFlags:DWORD;
  1928. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieExA';
  1929. function InternetGetCookieExW(lpszUrl:LPCWSTR; lpszCookieName:LPCWSTR; lpszCookieData:LPWSTR; lpdwSize:LPDWORD; dwFlags:DWORD;
  1930. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieExW';
  1931. function InternetAttemptConnect(dwReserved:DWORD):DWORD;stdcall;external WININETLIBNAME name 'InternetAttemptConnect';
  1932. function InternetCheckConnectionA(lpszUrl:LPCSTR; dwFlags:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCheckConnectionA';
  1933. function InternetCheckConnectionW(lpszUrl:LPCWSTR; dwFlags:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCheckConnectionW';
  1934. function ResumeSuspendedDownload(hRequest:HINTERNET; dwResultCode:DWORD):BOOL;stdcall;external WININETLIBNAME name 'ResumeSuspendedDownload';
  1935. function InternetErrorDlg(hWnd:HWND; hRequest:HINTERNET; dwError:DWORD; dwFlags:DWORD; lppvData:ppointer):DWORD;stdcall;external WININETLIBNAME name 'InternetErrorDlg';
  1936. function InternetConfirmZoneCrossingA(hWnd:HWND; szUrlPrev:LPSTR; szUrlNew:LPSTR; bPost:BOOL):DWORD;stdcall;external WININETLIBNAME name 'InternetConfirmZoneCrossingA';
  1937. function InternetConfirmZoneCrossingW(hWnd:HWND; szUrlPrev:LPWSTR; szUrlNew:LPWSTR; bPost:BOOL):DWORD;stdcall;external WININETLIBNAME name 'InternetConfirmZoneCrossingW';
  1938. function CreateUrlCacheEntryA(lpszUrlName:LPCSTR; dwExpectedFileSize:DWORD; lpszFileExtension:LPCSTR; lpszFileName:LPSTR; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'CreateUrlCacheEntryA';
  1939. function CreateUrlCacheEntryW(lpszUrlName:LPCWSTR; dwExpectedFileSize:DWORD; lpszFileExtension:LPCWSTR; lpszFileName:LPWSTR; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'CreateUrlCacheEntryW';
  1940. function CommitUrlCacheEntryA(lpszUrlName:LPCSTR; lpszLocalFileName:LPCSTR; ExpireTime:FILETIME; LastModifiedTime:FILETIME; CacheEntryType:DWORD;
  1941. lpHeaderInfo:LPCSTR; dwHeaderSize:DWORD; lpszFileExtension:LPCSTR; lpszOriginalUrl:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'CommitUrlCacheEntryA';
  1942. function CommitUrlCacheEntryW(lpszUrlName:LPCWSTR; lpszLocalFileName:LPCWSTR; ExpireTime:FILETIME; LastModifiedTime:FILETIME; CacheEntryType:DWORD;
  1943. lpHeaderInfo:LPCWSTR; dwHeaderSize:DWORD; lpszFileExtension:LPCWSTR; lpszOriginalUrl:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'CommitUrlCacheEntryW';
  1944. function RetrieveUrlCacheEntryFileA(lpszUrlName:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryFileA';
  1945. function RetrieveUrlCacheEntryFileW(lpszUrlName:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryFileW';
  1946. function UnlockUrlCacheEntryFileA(lpszUrlName:LPCSTR; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'UnlockUrlCacheEntryFileA';
  1947. function UnlockUrlCacheEntryFileW(lpszUrlName:LPCWSTR; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'UnlockUrlCacheEntryFileW';
  1948. function RetrieveUrlCacheEntryStreamA(lpszUrlName:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD; fRandomRead:BOOL; dwReserved:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryStreamA';
  1949. function RetrieveUrlCacheEntryStreamW(lpszUrlName:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD; fRandomRead:BOOL; dwReserved:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryStreamW';
  1950. function ReadUrlCacheEntryStream(hUrlCacheStream:HANDLE; dwLocation:DWORD; lpBuffer:LPVOID; lpdwLen:LPDWORD; Reserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'ReadUrlCacheEntryStream';
  1951. function UnlockUrlCacheEntryStream(hUrlCacheStream:HANDLE; Reserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'UnlockUrlCacheEntryStream';
  1952. function GetUrlCacheEntryInfoA(lpszUrlName:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoA';
  1953. function GetUrlCacheEntryInfoW(lpszUrlName:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoW';
  1954. function FindFirstUrlCacheGroup(dwFlags:DWORD; dwFilter:DWORD; lpSearchCondition:LPVOID; dwSearchCondition:DWORD; lpGroupId:PGROUPID;
  1955. lpReserved:LPVOID):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheGroup';
  1956. function FindNextUrlCacheGroup(hFind:HANDLE; lpGroupId:PGROUPID; lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheGroup';
  1957. function GetUrlCacheGroupAttributeA(gid:GROUPID; dwFlags:DWORD; dwAttributes:DWORD; lpGroupInfo:LPINTERNET_CACHE_GROUP_INFOA; lpdwGroupInfo:LPDWORD;
  1958. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheGroupAttributeA';
  1959. function GetUrlCacheGroupAttributeW(gid:GROUPID; dwFlags:DWORD; dwAttributes:DWORD; lpGroupInfo:LPINTERNET_CACHE_GROUP_INFOW; lpdwGroupInfo:LPDWORD;
  1960. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheGroupAttributeW';
  1961. function SetUrlCacheGroupAttributeA(gid:GROUPID; dwFlags:DWORD; dwAttributes:DWORD; lpGroupInfo:LPINTERNET_CACHE_GROUP_INFOA):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheGroupAttributeA';
  1962. function SetUrlCacheGroupAttributeW(gid:GROUPID; dwFlags:DWORD; dwAttributes:DWORD; lpGroupInfo:LPINTERNET_CACHE_GROUP_INFOW; lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheGroupAttributeW';
  1963. function GetUrlCacheEntryInfoExA(lpszUrl:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD; lpszRedirectUrl:LPSTR; lpcbRedirectUrl:LPDWORD;
  1964. lpReserved:LPVOID; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoExA';
  1965. function GetUrlCacheEntryInfoExW(lpszUrl:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD; lpszRedirectUrl:LPWSTR; lpcbRedirectUrl:LPDWORD;
  1966. lpReserved:LPVOID; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoExW';
  1967. function SetUrlCacheEntryInfoA(lpszUrlName:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; dwFieldControl:DWORD):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheEntryInfoA';
  1968. function SetUrlCacheEntryInfoW(lpszUrlName:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; dwFieldControl:DWORD):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheEntryInfoW';
  1969. function CreateUrlCacheGroup(dwFlags:DWORD; lpReserved:LPVOID):GROUPID;stdcall;external WININETLIBNAME name 'CreateUrlCacheGroup';
  1970. function DeleteUrlCacheGroup(GroupId:GROUPID; dwFlags:DWORD; lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'DeleteUrlCacheGroup';
  1971. function SetUrlCacheEntryGroupA(lpszUrlName:LPCSTR; dwFlags:DWORD; GroupId:GROUPID; pbGroupAttributes:LPBYTE; cbGroupAttributes:DWORD;
  1972. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheEntryGroupA';
  1973. function SetUrlCacheEntryGroupW(lpszUrlName:LPCWSTR; dwFlags:DWORD; GroupId:GROUPID; pbGroupAttributes:LPBYTE; cbGroupAttributes:DWORD;
  1974. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheEntryGroupW';
  1975. function FindFirstUrlCacheEntryExA(lpszUrlSearchPattern:LPCSTR; dwFlags:DWORD; dwFilter:DWORD; GroupId:GROUPID; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA;
  1976. lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD; lpReserved:LPVOID):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryExA';
  1977. function FindFirstUrlCacheEntryExW(lpszUrlSearchPattern:LPCWSTR; dwFlags:DWORD; dwFilter:DWORD; GroupId:GROUPID; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW;
  1978. lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD; lpReserved:LPVOID):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryExW';
  1979. function FindNextUrlCacheEntryExA(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD;
  1980. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryExA';
  1981. function FindNextUrlCacheEntryExW(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD;
  1982. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryExW';
  1983. function FindFirstUrlCacheEntryA(lpszUrlSearchPattern:LPCSTR; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryA';
  1984. function FindFirstUrlCacheEntryW(lpszUrlSearchPattern:LPCWSTR; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryW';
  1985. function FindNextUrlCacheEntryA(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryA';
  1986. function FindNextUrlCacheEntryW(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryW';
  1987. function FindCloseUrlCache(hEnumHandle:HANDLE):BOOL;stdcall;external WININETLIBNAME name 'FindCloseUrlCache';
  1988. function DeleteUrlCacheEntryA(lpszUrlName:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'DeleteUrlCacheEntryA';
  1989. function DeleteUrlCacheEntryW(lpszUrlName:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'DeleteUrlCacheEntryW';
  1990. function InternetDialA(hwndParent:HWND; lpszConnectoid:LPSTR; dwFlags:DWORD; lpdwConnection:PDWORD_PTR; dwReserved:DWORD):DWORD;stdcall;external WININETLIBNAME name 'InternetDialA';
  1991. function InternetDialW(hwndParent:HWND; lpszConnectoid:LPWSTR; dwFlags:DWORD; lpdwConnection:PDWORD_PTR; dwReserved:DWORD):DWORD;stdcall;external WININETLIBNAME name 'InternetDialW';
  1992. function InternetHangUp(dwConnection:DWORD_PTR; dwReserved:DWORD):DWORD;stdcall;external WININETLIBNAME name 'InternetHangUp';
  1993. function InternetGoOnlineA(lpszURL:LPSTR; hwndParent:HWND; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGoOnlineA';
  1994. function InternetGoOnlineW(lpszURL:LPWSTR; hwndParent:HWND; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGoOnlineW';
  1995. function InternetAutodial(dwFlags:DWORD; hwndParent:HWND):BOOL;stdcall;external WININETLIBNAME name 'InternetAutodial';
  1996. function InternetAutodialHangup(dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetAutodialHangup';
  1997. function InternetGetConnectedState(lpdwFlags:LPDWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetConnectedState';
  1998. function InternetGetConnectedStateExA(lpdwFlags:LPDWORD; lpszConnectionName:LPSTR; dwBufLen:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetConnectedStateExA';
  1999. function InternetGetConnectedStateExW(lpdwFlags:LPDWORD; lpszConnectionName:LPWSTR; dwBufLen:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetConnectedStateExW';
  2000. function InternetInitializeAutoProxyDll(dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetInitializeAutoProxyDll';
  2001. function DetectAutoProxyUrl(lpszAutoProxyUrl:LPSTR; dwAutoProxyUrlLength:DWORD; dwDetectFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'DetectAutoProxyUrl';
  2002. function CreateMD5SSOHash(pszChallengeInfo:LPWSTR; pwszRealm:LPWSTR; pwszTarget:LPWSTR; pbHexHash:PBYTE):BOOL;stdcall;external WININETLIBNAME name 'CreateMD5SSOHash';
  2003. function InternetSetDialStateA(lpszConnectoid:LPCSTR; dwState:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetDialStateA';
  2004. function InternetSetDialStateW(lpszConnectoid:LPCWSTR; dwState:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetDialStateW';
  2005. function InternetSetPerSiteCookieDecisionA(pchHostName:LPCSTR; dwDecision:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetPerSiteCookieDecisionA';
  2006. function InternetSetPerSiteCookieDecisionW(pchHostName:LPCWSTR; dwDecision:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetPerSiteCookieDecisionW';
  2007. function InternetGetPerSiteCookieDecisionA(pchHostName:LPCSTR; pResult:Pdword):BOOL;stdcall;external WININETLIBNAME name 'InternetGetPerSiteCookieDecisionA';
  2008. function InternetGetPerSiteCookieDecisionW(pchHostName:LPCWSTR; pResult:Pdword):BOOL;stdcall;external WININETLIBNAME name 'InternetGetPerSiteCookieDecisionW';
  2009. function InternetEnumPerSiteCookieDecisionA(pszSiteName:LPSTR; pcSiteNameSize:Pdword; pdwDecision:Pdword; dwIndex:dword):BOOL;stdcall;external WININETLIBNAME name 'InternetEnumPerSiteCookieDecisionA';
  2010. function InternetEnumPerSiteCookieDecisionW(pszSiteName:LPWSTR; pcSiteNameSize:Pdword; pdwDecision:Pdword; dwIndex:dword):BOOL;stdcall;external WININETLIBNAME name 'InternetEnumPerSiteCookieDecisionW';
  2011. function PrivacySetZonePreferenceW(dwZone:DWORD; dwType:DWORD; dwTemplate:DWORD; pszPreference:LPCWSTR):DWORD;stdcall;external WININETLIBNAME name 'PrivacySetZonePreferenceW';
  2012. function PrivacyGetZonePreferenceW(dwZone:DWORD; dwType:DWORD; pdwTemplate:LPDWORD; pszBuffer:LPWSTR; pdwBufferLength:LPDWORD):DWORD;stdcall;external WININETLIBNAME name 'PrivacyGetZonePreferenceW';
  2013. function InternetClearAllPerSiteCookieDecisions:BOOL;stdcall;external WININETLIBNAME name 'InternetClearAllPerSiteCookieDecisions';
  2014. { Delphi overloads, see bug 10576 and 11226}
  2015. function InternetCreateUrlA(lpUrlComponents:LPURL_COMPONENTSA; dwFlags:DWORD; lpszUrl:LPSTR; var lpdwUrlLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCreateUrlA';
  2016. function InternetCreateUrlW(lpUrlComponents:LPURL_COMPONENTSW; dwFlags:DWORD; lpszUrl:LPWSTR;var lpdwUrlLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCreateUrlW';
  2017. function InternetCanonicalizeUrlA(lpszUrl:LPCSTR; lpszBuffer:LPSTR; var lpdwBufferLength:DWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCanonicalizeUrlA';
  2018. function InternetCanonicalizeUrlW(lpszUrl:LPCWSTR; lpszBuffer:LPWSTR; var lpdwBufferLength:DWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCanonicalizeUrlW';
  2019. function InternetCombineUrlA(lpszBaseUrl:LPCSTR; lpszRelativeUrl:LPCSTR; lpszBuffer:LPSTR; var lpdwBufferLength:DWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCombineUrlA';
  2020. function InternetCombineUrlW(lpszBaseUrl:LPCWSTR; lpszRelativeUrl:LPCWSTR; lpszBuffer:LPWSTR;var lpdwBufferLength:DWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCombineUrlW';
  2021. function InternetQueryDataAvailable(hFile:HINTERNET; var lpdwNumberOfBytesAvailable:DWORD; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'InternetQueryDataAvailable';
  2022. function InternetQueryOptionA(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; var lpdwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetQueryOptionA';
  2023. function InternetReadFile(hFile:HINTERNET; lpBuffer:LPVOID; dwNumberOfBytesToRead:DWORD; var lpdwNumberOfBytesRead:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetReadFile';
  2024. function InternetWriteFile(hFile:HINTERNET; lpBuffer:LPCVOID; dwNumberOfBytesToWrite:DWORD; var lpdwNumberOfBytesWritten:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetWriteFile';
  2025. function InternetQueryOptionW(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; var lpdwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetQueryOptionW';
  2026. function InternetGetLastResponseInfoA(var dwError:DWORD; lpszBuffer:LPSTR; var lpdwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetLastResponseInfoA';
  2027. function InternetGetLastResponseInfoW(var dwError:DWORD; lpszBuffer:LPWSTR; var lpdwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetLastResponseInfoW';
  2028. function FtpGetFileSize(hFile:HINTERNET; var lpdwFileSizeHigh:DWORD):DWORD;stdcall;external WININETLIBNAME name 'FtpGetFileSize';
  2029. function GopherCreateLocatorA(lpszHost:LPCSTR; nServerPort:INTERNET_PORT; lpszDisplayString:LPCSTR; lpszSelectorString:LPCSTR; dwGopherType:DWORD;
  2030. lpszLocator:LPSTR; var lpdwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherCreateLocatorA';
  2031. function GopherCreateLocatorW(lpszHost:LPCWSTR; nServerPort:INTERNET_PORT; lpszDisplayString:LPCWSTR; lpszSelectorString:LPCWSTR; dwGopherType:DWORD;
  2032. lpszLocator:LPWSTR; var lpdwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherCreateLocatorW';
  2033. function GopherGetLocatorTypeA(lpszLocator:LPCSTR; var lpdwGopherType:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherGetLocatorTypeA';
  2034. function GopherGetLocatorTypeW(lpszLocator:LPCWSTR; var lpdwGopherType:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherGetLocatorTypeW';
  2035. function HttpQueryInfoA(hRequest:HINTERNET; dwInfoLevel:DWORD; lpBuffer:LPVOID; var lpdwBufferLength:DWORD; var lpdwIndex:DWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpQueryInfoA';
  2036. function HttpQueryInfoW(hRequest:HINTERNET; dwInfoLevel:DWORD; lpBuffer:LPVOID; var lpdwBufferLength:DWORD; var lpdwIndex:DWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpQueryInfoW';
  2037. function InternetGetCookieA(lpszUrl:LPCSTR; lpszCookieName:LPCSTR; lpszCookieData:LPSTR;var lpdwSize:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieA';
  2038. function InternetGetCookieW(lpszUrl:LPCWSTR; lpszCookieName:LPCWSTR; lpszCookieData:LPWSTR;var lpdwSize:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieW';
  2039. function InternetGetCookieExA(lpszUrl:LPCSTR; lpszCookieName:LPCSTR; lpszCookieData:LPSTR; var lpdwSize:DWORD; dwFlags:DWORD;
  2040. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieExA';
  2041. function InternetGetCookieExW(lpszUrl:LPCWSTR; lpszCookieName:LPCWSTR; lpszCookieData:LPWSTR; var lpdwSize:DWORD; dwFlags:DWORD;
  2042. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieExW';
  2043. function RetrieveUrlCacheEntryFileA(lpszUrlName:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; var lpcbCacheEntryInfo:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryFileA';
  2044. function RetrieveUrlCacheEntryFileW(lpszUrlName:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbCacheEntryInfo:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryFileW';
  2045. function RetrieveUrlCacheEntryStreamA(lpszUrlName:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; var lpcbCacheEntryInfo:DWORD; fRandomRead:BOOL; dwReserved:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryStreamA';
  2046. function RetrieveUrlCacheEntryStreamW(lpszUrlName:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbCacheEntryInfo:DWORD; fRandomRead:BOOL; dwReserved:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryStreamW';
  2047. function ReadUrlCacheEntryStream(hUrlCacheStream:HANDLE; dwLocation:DWORD; lpBuffer:LPVOID; var lpdwLen:DWORD; Reserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'ReadUrlCacheEntryStream';
  2048. function GetUrlCacheEntryInfoA(lpszUrlName:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; var lpcbCacheEntryInfo:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoA';
  2049. function GetUrlCacheEntryInfoW(lpszUrlName:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbCacheEntryInfo:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoW';
  2050. function GetUrlCacheGroupAttributeA(gid:GROUPID; dwFlags:DWORD; dwAttributes:DWORD; lpGroupInfo:LPINTERNET_CACHE_GROUP_INFOA; var lpdwGroupInfo:DWORD;
  2051. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheGroupAttributeA';
  2052. function GetUrlCacheGroupAttributeW(gid:GROUPID; dwFlags:DWORD; dwAttributes:DWORD; lpGroupInfo:LPINTERNET_CACHE_GROUP_INFOW; var lpdwGroupInfo:DWORD;
  2053. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheGroupAttributeW';
  2054. function GetUrlCacheEntryInfoExA(lpszUrl:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; var lpcbCacheEntryInfo:DWORD; lpszRedirectUrl:LPSTR; var lpcbRedirectUrl:DWORD;
  2055. lpReserved:LPVOID; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoExA';
  2056. function GetUrlCacheEntryInfoExW(lpszUrl:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbCacheEntryInfo:DWORD; lpszRedirectUrl:LPWSTR; var lpcbRedirectUrl:DWORD;
  2057. lpReserved:LPVOID; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoExW';
  2058. function FindFirstUrlCacheEntryExA(lpszUrlSearchPattern:LPCSTR; dwFlags:DWORD; dwFilter:DWORD; GroupId:GROUPID; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA;
  2059. var lpcbEntryInfo:DWORD; lpGroupAttributes:LPVOID; var lpcbGroupAttributes:DWORD; lpReserved:LPVOID):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryExA';
  2060. function FindFirstUrlCacheEntryExW(lpszUrlSearchPattern:LPCWSTR; dwFlags:DWORD; dwFilter:DWORD; GroupId:GROUPID; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW;
  2061. var lpcbEntryInfo:DWORD; lpGroupAttributes:LPVOID; var lpcbGroupAttributes:DWORD; lpReserved:LPVOID):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryExW';
  2062. function FindNextUrlCacheEntryExA(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; var lpcbEntryInfo:DWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD;
  2063. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryExA';
  2064. function FindNextUrlCacheEntryExW(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbEntryInfo:DWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD;
  2065. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryExW';
  2066. function FindFirstUrlCacheEntryA(lpszUrlSearchPattern:LPCSTR; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; var lpcbCacheEntryInfo:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryA';
  2067. function FindFirstUrlCacheEntryW(lpszUrlSearchPattern:LPCWSTR; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbCacheEntryInfo:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryW';
  2068. function FindNextUrlCacheEntryA(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; var lpcbCacheEntryInfo:DWORD):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryA';
  2069. function FindNextUrlCacheEntryW(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbCacheEntryInfo:DWORD):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryW';
  2070. function InternetDialA(hwndParent:HWND; lpszConnectoid:LPSTR; dwFlags:DWORD; var lpdwConnection:DWORD; dwReserved:DWORD):DWORD;stdcall;external WININETLIBNAME name 'InternetDialA';
  2071. function InternetDialW(hwndParent:HWND; lpszConnectoid:LPWSTR; dwFlags:DWORD; var lpdwConnection:DWORD; dwReserved:DWORD):DWORD;stdcall;external WININETLIBNAME name 'InternetDialW';
  2072. function InternetGetConnectedState(var lpdwFlags:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetConnectedState';
  2073. function InternetGetConnectedStateExA(var lpdwFlags:DWORD; lpszConnectionName:LPSTR; dwBufLen:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetConnectedStateExA';
  2074. function InternetGetConnectedStateExW(var lpdwFlags:DWORD; lpszConnectionName:LPWSTR; dwBufLen:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetConnectedStateExW';
  2075. function PrivacyGetZonePreferenceW(dwZone:DWORD; dwType:DWORD; var pdwTemplate:DWORD; pszBuffer:LPWSTR; var pdwBufferLength:DWORD):DWORD;stdcall;external WININETLIBNAME name 'PrivacyGetZonePreferenceW';
  2076. function FtpGetCurrentDirectoryA(hConnect:HINTERNET; lpszCurrentDirectory:LPSTR; var lpdwCurrentDirectory:DWORD):BOOL;stdcall;external WININETLIBNAME name 'FtpGetCurrentDirectoryA';
  2077. function FtpGetCurrentDirectoryW(hConnect:HINTERNET; lpszCurrentDirectory:LPWSTR; var lpdwCurrentDirectory:DWORD):BOOL;stdcall;external WININETLIBNAME name 'FtpGetCurrentDirectoryW';
  2078. function FtpFindFirstFileA(hConnect:HINTERNET; lpszSearchFile:LPCSTR; var lpFindFileData:WIN32_FIND_DATA; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'FtpFindFirstFileA';
  2079. function FtpFindFirstFileW(hConnect:HINTERNET; lpszSearchFile:LPCWSTR; var lpFindFileData:WIN32_FIND_DATAW; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'FtpFindFirstFileW';
  2080. function GopherFindFirstFileA(hConnect:HINTERNET; lpszLocator:LPCSTR; lpszSearchString:LPCSTR; var lpFindData:GOPHER_FIND_DATAA; dwFlags:DWORD;
  2081. dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'GopherFindFirstFileA';
  2082. function GopherFindFirstFileW(hConnect:HINTERNET; lpszLocator:LPCWSTR; lpszSearchString:LPCWSTR; var lpFindData:GOPHER_FIND_DATAW; dwFlags:DWORD;
  2083. dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'GopherFindFirstFileW';
  2084. function GopherGetAttributeA(hConnect:HINTERNET; lpszLocator:LPCSTR; lpszAttributeName:LPCSTR; lpBuffer:LPBYTE; dwBufferLength:DWORD;
  2085. var lpdwCharactersReturned:DWORD; lpfnEnumerator:GOPHER_ATTRIBUTE_ENUMERATOR; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'GopherGetAttributeA';
  2086. function GopherGetAttributeW(hConnect:HINTERNET; lpszLocator:LPCWSTR; lpszAttributeName:LPCWSTR; lpBuffer:LPBYTE; dwBufferLength:DWORD;
  2087. var lpdwCharactersReturned:DWORD; lpfnEnumerator:GOPHER_ATTRIBUTE_ENUMERATOR; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'GopherGetAttributeW';
  2088. function InternetErrorDlg(hWnd:HWND; hRequest:HINTERNET; dwError:DWORD; dwFlags:DWORD; var lppvData:pointer):DWORD;stdcall;external WININETLIBNAME name 'InternetErrorDlg';
  2089. function RetrieveUrlCacheEntryFileA(lpszUrlName:LPCSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryFileA';
  2090. function RetrieveUrlCacheEntryFileW(lpszUrlName:LPCWSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryFileW';
  2091. function RetrieveUrlCacheEntryStreamA(lpszUrlName:LPCSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD; fRandomRead:BOOL; dwReserved:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryStreamA';
  2092. function RetrieveUrlCacheEntryStreamW(lpszUrlName:LPCWSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD; fRandomRead:BOOL; dwReserved:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryStreamW';
  2093. function ReadUrlCacheEntryStream(hUrlCacheStream:HANDLE; dwLocation:DWORD; var lpBuffer; lpdwLen:LPDWORD; Reserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'ReadUrlCacheEntryStream';
  2094. function GetUrlCacheEntryInfoA(lpszUrlName:LPCSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoA';
  2095. function GetUrlCacheEntryInfoW(lpszUrlName:LPCWSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoW';
  2096. function SetUrlCacheEntryInfoA(lpszUrlName:LPCSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; dwFieldControl:DWORD):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheEntryInfoA';
  2097. function SetUrlCacheEntryInfoW(lpszUrlName:LPCWSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW; dwFieldControl:DWORD):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheEntryInfoW';
  2098. function FindFirstUrlCacheEntryExA(lpszUrlSearchPattern:LPCSTR; dwFlags:DWORD; dwFilter:DWORD; GroupId:GROUPID; var lpFirstCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA;
  2099. lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD; lpReserved:LPVOID):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryExA';
  2100. function FindFirstUrlCacheEntryExW(lpszUrlSearchPattern:LPCWSTR; dwFlags:DWORD; dwFilter:DWORD; GroupId:GROUPID; var lpFirstCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW;
  2101. lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD; lpReserved:LPVOID):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryExW';
  2102. function FindNextUrlCacheEntryExA(hEnumHandle:HANDLE; var lpNextCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD;
  2103. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryExA';
  2104. function FindNextUrlCacheEntryExW(hEnumHandle:HANDLE; var lpNextCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW; lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD;
  2105. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryExW';
  2106. function FindFirstUrlCacheEntryA(lpszUrlSearchPattern:LPCSTR; var lpFirstCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryA';
  2107. function FindFirstUrlCacheEntryW(lpszUrlSearchPattern:LPCWSTR; var lpFirstCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryW';
  2108. function FindNextUrlCacheEntryA(hEnumHandle:HANDLE; var lpNextCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryA';
  2109. function FindNextUrlCacheEntryW(hEnumHandle:HANDLE; var lpNextCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryW';
  2110. function InternetCrackUrlW(lpszUrl:LPCWSTR; dwUrlLength:DWORD; dwFlags:DWORD; var lpUrlComponents:URL_COMPONENTSW):BOOL;stdcall;external WININETLIBNAME name 'InternetCrackUrlW';
  2111. function InternetCreateUrlW(var lpUrlComponents:URL_COMPONENTSW; dwFlags:DWORD; lpszUrl:LPWSTR; lpdwUrlLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCreateUrlW';
  2112. function InternetCrackUrlA(lpszUrl:LPCSTR; dwUrlLength:DWORD; dwFlags:DWORD; var lpUrlComponents:URL_COMPONENTSA):BOOL;stdcall;external WININETLIBNAME name 'InternetCrackUrlA';
  2113. function InternetCreateUrlA(var lpUrlComponents:URL_COMPONENTSA; dwFlags:DWORD; lpszUrl:LPSTR; lpdwUrlLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCreateUrlA';
  2114. {$ifndef UNICODE}
  2115. function InternetTimeFromSystemTime(pst:PSYSTEMTIME; dwRFC:DWORD; lpszTime:LPSTR; cbTime:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetTimeFromSystemTimeA';
  2116. function InternetTimeToSystemTime(lpszTime:LPCSTR; pst:PSYSTEMTIME; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetTimeToSystemTimeA';
  2117. function InternetCrackUrl(lpszUrl:LPCSTR; dwUrlLength:DWORD; dwFlags:DWORD; lpUrlComponents:LPURL_COMPONENTSA):BOOL;stdcall;external WININETLIBNAME name 'InternetCrackUrlA';
  2118. function InternetCreateUrl(lpUrlComponents:LPURL_COMPONENTSA; dwFlags:DWORD; lpszUrl:LPSTR; lpdwUrlLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCreateUrlA';
  2119. function InternetCanonicalizeUrl(lpszUrl:LPCSTR; lpszBuffer:LPSTR; lpdwBufferLength:LPDWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCanonicalizeUrlA';
  2120. function InternetCombineUrl(lpszBaseUrl:LPCSTR; lpszRelativeUrl:LPCSTR; lpszBuffer:LPSTR; lpdwBufferLength:LPDWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCombineUrlA';
  2121. function InternetOpen(lpszAgent:LPCSTR; dwAccessType:DWORD; lpszProxy:LPCSTR; lpszProxyBypass:LPCSTR; dwFlags:DWORD):HINTERNET;stdcall;external WININETLIBNAME name 'InternetOpenA';
  2122. function InternetConnect(hInternet:HINTERNET; lpszServerName:LPCSTR; nServerPort:INTERNET_PORT; lpszUserName:LPCSTR; lpszPassword:LPCSTR;
  2123. dwService:DWORD; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'InternetConnectA';
  2124. function InternetReadFileEx(hFile:HINTERNET; lpBuffersOut:LPINTERNET_BUFFERSA; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'InternetReadFileExA';
  2125. function InternetOpenUrl(hInternet:HINTERNET; lpszUrl:LPCSTR; lpszHeaders:LPCSTR; dwHeadersLength:DWORD; dwFlags:DWORD;
  2126. dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'InternetOpenUrlA';
  2127. function InternetFindNextFile(hFind:HINTERNET; lpvFindData:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'InternetFindNextFileA';
  2128. function InternetQueryOption(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; lpdwBufferLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetQueryOptionA';
  2129. function InternetSetOption(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; dwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetOptionA';
  2130. function InternetSetOptionEx(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; dwBufferLength:DWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetOptionExA';
  2131. function InternetGetLastResponseInfo(lpdwError:LPDWORD; lpszBuffer:LPSTR; lpdwBufferLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetLastResponseInfoA';
  2132. function InternetSetStatusCallback(hInternet:HINTERNET; lpfnInternetCallback:INTERNET_STATUS_CALLBACK):INTERNET_STATUS_CALLBACK;stdcall;external WININETLIBNAME name 'InternetSetStatusCallbackA';
  2133. function FtpFindFirstFile(hConnect:HINTERNET; lpszSearchFile:LPCSTR; lpFindFileData:LPWIN32_FIND_DATA; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'FtpFindFirstFileA';
  2134. function FtpGetFile(hConnect:HINTERNET; lpszRemoteFile:LPCSTR; lpszNewFile:LPCSTR; fFailIfExists:BOOL; dwFlagsAndAttributes:DWORD;
  2135. dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'FtpGetFileA';
  2136. function FtpPutFile(hConnect:HINTERNET; lpszLocalFile:LPCSTR; lpszNewRemoteFile:LPCSTR; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'FtpPutFileA';
  2137. function FtpDeleteFile(hConnect:HINTERNET; lpszFileName:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpDeleteFileA';
  2138. function FtpRenameFile(hConnect:HINTERNET; lpszExisting:LPCSTR; lpszNew:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpRenameFileA';
  2139. function FtpOpenFile(hConnect:HINTERNET; lpszFileName:LPCSTR; dwAccess:DWORD; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'FtpOpenFileA';
  2140. function FtpCreateDirectory(hConnect:HINTERNET; lpszDirectory:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpCreateDirectoryA';
  2141. function FtpRemoveDirectory(hConnect:HINTERNET; lpszDirectory:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpRemoveDirectoryA';
  2142. function FtpSetCurrentDirectory(hConnect:HINTERNET; lpszDirectory:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpSetCurrentDirectoryA';
  2143. function FtpGetCurrentDirectory(hConnect:HINTERNET; lpszCurrentDirectory:LPSTR; lpdwCurrentDirectory:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'FtpGetCurrentDirectoryA';
  2144. function FtpCommand(hConnect:HINTERNET; fExpectResponse:BOOL; dwFlags:DWORD; lpszCommand:LPCSTR; dwContext:DWORD_PTR;
  2145. phFtpCommand:PHINTERNET):BOOL;stdcall;external WININETLIBNAME name 'FtpCommandA';
  2146. function GopherCreateLocator(lpszHost:LPCSTR; nServerPort:INTERNET_PORT; lpszDisplayString:LPCSTR; lpszSelectorString:LPCSTR; dwGopherType:DWORD;
  2147. lpszLocator:LPSTR; lpdwBufferLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherCreateLocatorA';
  2148. function GopherGetLocatorType(lpszLocator:LPCSTR; lpdwGopherType:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherGetLocatorTypeA';
  2149. function GopherFindFirstFile(hConnect:HINTERNET; lpszLocator:LPCSTR; lpszSearchString:LPCSTR; lpFindData:LPGOPHER_FIND_DATAA; dwFlags:DWORD;
  2150. dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'GopherFindFirstFileA';
  2151. function GopherOpenFile(hConnect:HINTERNET; lpszLocator:LPCSTR; lpszView:LPCSTR; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'GopherOpenFileA';
  2152. function GopherGetAttribute(hConnect:HINTERNET; lpszLocator:LPCSTR; lpszAttributeName:LPCSTR; lpBuffer:LPBYTE; dwBufferLength:DWORD;
  2153. lpdwCharactersReturned:LPDWORD; lpfnEnumerator:GOPHER_ATTRIBUTE_ENUMERATOR; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'GopherGetAttributeA';
  2154. function HttpOpenRequest(hConnect:HINTERNET; lpszVerb:LPCSTR; lpszObjectName:LPCSTR; lpszVersion:LPCSTR; lpszReferrer:LPCSTR;
  2155. lplpszAcceptTypes:LPPCSTR; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'HttpOpenRequestA';
  2156. function HttpAddRequestHeaders(hRequest:HINTERNET; lpszHeaders:LPCSTR; dwHeadersLength:DWORD; dwModifiers:DWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpAddRequestHeadersA';
  2157. function HttpSendRequest(hRequest:HINTERNET; lpszHeaders:LPCSTR; dwHeadersLength:DWORD; lpOptional:LPVOID; dwOptionalLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpSendRequestA';
  2158. function HttpSendRequestEx(hRequest:HINTERNET; lpBuffersIn:LPINTERNET_BUFFERSA; lpBuffersOut:LPINTERNET_BUFFERSA; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'HttpSendRequestExA';
  2159. function HttpEndRequest(hRequest:HINTERNET; lpBuffersOut:LPINTERNET_BUFFERSA; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'HttpEndRequestA';
  2160. function HttpQueryInfo(hRequest:HINTERNET; dwInfoLevel:DWORD; lpBuffer:LPVOID; lpdwBufferLength:LPDWORD; lpdwIndex:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpQueryInfoA';
  2161. function InternetSetCookie(lpszUrl:LPCSTR; lpszCookieName:LPCSTR; lpszCookieData:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'InternetSetCookieA';
  2162. function InternetGetCookie(lpszUrl:LPCSTR; lpszCookieName:LPCSTR; lpszCookieData:LPSTR; lpdwSize:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieA';
  2163. function InternetSetCookieEx(lpszUrl:LPCSTR; lpszCookieName:LPCSTR; lpszCookieData:LPCSTR; dwFlags:DWORD; dwReserved:DWORD_PTR):DWORD;stdcall;external WININETLIBNAME name 'InternetSetCookieExA';
  2164. function InternetGetCookieEx(lpszUrl:LPCSTR; lpszCookieName:LPCSTR; lpszCookieData:LPSTR; lpdwSize:LPDWORD; dwFlags:DWORD;
  2165. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieExA';
  2166. function InternetCheckConnection(lpszUrl:LPCSTR; dwFlags:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCheckConnectionA';
  2167. function InternetConfirmZoneCrossing(hWnd:HWND; szUrlPrev:LPSTR; szUrlNew:LPSTR; bPost:BOOL):DWORD;stdcall;external WININETLIBNAME name 'InternetConfirmZoneCrossingA';
  2168. function CreateUrlCacheEntry(lpszUrlName:LPCSTR; dwExpectedFileSize:DWORD; lpszFileExtension:LPCSTR; lpszFileName:LPSTR; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'CreateUrlCacheEntryA';
  2169. function CommitUrlCacheEntry(lpszUrlName:LPCSTR; lpszLocalFileName:LPCSTR; ExpireTime:FILETIME; LastModifiedTime:FILETIME; CacheEntryType:DWORD;
  2170. lpHeaderInfo:LPCSTR; dwHeaderSize:DWORD; lpszFileExtension:LPCSTR; lpszOriginalUrl:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'CommitUrlCacheEntryA';
  2171. function RetrieveUrlCacheEntryFile(lpszUrlName:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryFileA';
  2172. function UnlockUrlCacheEntryFile(lpszUrlName:LPCSTR; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'UnlockUrlCacheEntryFileA';
  2173. function RetrieveUrlCacheEntryStream(lpszUrlName:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD; fRandomRead:BOOL; dwReserved:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryStreamA';
  2174. function GetUrlCacheEntryInfo(lpszUrlName:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoA';
  2175. function GetUrlCacheGroupAttribute(gid:GROUPID; dwFlags:DWORD; dwAttributes:DWORD; lpGroupInfo:LPINTERNET_CACHE_GROUP_INFOA; lpdwGroupInfo:LPDWORD;
  2176. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheGroupAttributeA';
  2177. function SetUrlCacheGroupAttribute(gid:GROUPID; dwFlags:DWORD; dwAttributes:DWORD; lpGroupInfo:LPINTERNET_CACHE_GROUP_INFOA):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheGroupAttributeA';
  2178. function GetUrlCacheEntryInfoEx(lpszUrl:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD; lpszRedirectUrl:LPSTR; lpcbRedirectUrl:LPDWORD;
  2179. lpReserved:LPVOID; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoExA';
  2180. function SetUrlCacheEntryInfo(lpszUrlName:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; dwFieldControl:DWORD):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheEntryInfoA';
  2181. function SetUrlCacheEntryGroup(lpszUrlName:LPCSTR; dwFlags:DWORD; GroupId:GROUPID; pbGroupAttributes:LPBYTE; cbGroupAttributes:DWORD;
  2182. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheEntryGroupA';
  2183. function FindFirstUrlCacheEntryEx(lpszUrlSearchPattern:LPCSTR; dwFlags:DWORD; dwFilter:DWORD; GroupId:GROUPID; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA;
  2184. lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD; lpReserved:LPVOID):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryExA';
  2185. function FindNextUrlCacheEntryEx(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD;
  2186. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryExA';
  2187. function FindFirstUrlCacheEntry(lpszUrlSearchPattern:LPCSTR; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryA';
  2188. function FindNextUrlCacheEntry(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryA';
  2189. function DeleteUrlCacheEntry(lpszUrlName:LPCSTR):BOOL;stdcall;external WININETLIBNAME name 'DeleteUrlCacheEntryA';
  2190. function InternetDial(hwndParent:HWND; lpszConnectoid:LPSTR; dwFlags:DWORD; lpdwConnection:PDWORD_PTR; dwReserved:DWORD):DWORD;stdcall;external WININETLIBNAME name 'InternetDialA';
  2191. function InternetGoOnline(lpszURL:LPSTR; hwndParent:HWND; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGoOnlineA';
  2192. function InternetGetConnectedStateEx(lpdwFlags:LPDWORD; lpszConnectionName:LPSTR; dwBufLen:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetConnectedStateExA';
  2193. function InternetSetDialState(lpszConnectoid:LPCSTR; dwState:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetDialStateA';
  2194. function InternetSetPerSiteCookieDecision(pchHostName:LPCSTR; dwDecision:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetPerSiteCookieDecisionA';
  2195. function InternetGetPerSiteCookieDecision(pchHostName:LPCSTR; pResult:Pdword):BOOL;stdcall;external WININETLIBNAME name 'InternetGetPerSiteCookieDecisionA';
  2196. function InternetEnumPerSiteCookieDecision(pszSiteName:LPSTR; pcSiteNameSize:Pdword; pdwDecision:Pdword; dwIndex:dword):BOOL;stdcall;external WININETLIBNAME name 'InternetEnumPerSiteCookieDecisionA';
  2197. function InternetCrackUrl(lpszUrl:LPCSTR; dwUrlLength:DWORD; dwFlags:DWORD; var lpUrlComponents:URL_COMPONENTSA):BOOL;stdcall;external WININETLIBNAME name 'InternetCrackUrlA';
  2198. function InternetCreateUrl(var lpUrlComponents:URL_COMPONENTSA; dwFlags:DWORD; lpszUrl:LPSTR; lpdwUrlLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCreateUrlA';
  2199. function InternetCreateUrl(lpUrlComponents:LPURL_COMPONENTSA; dwFlags:DWORD; lpszUrl:LPSTR; var lpdwUrlLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCreateUrlA';
  2200. function InternetCanonicalizeUrl(lpszUrl:LPCSTR; lpszBuffer:LPSTR; var lpdwBufferLength:DWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCanonicalizeUrlA';
  2201. function InternetCombineUrl(lpszBaseUrl:LPCSTR; lpszRelativeUrl:LPCSTR; lpszBuffer:LPSTR; var lpdwBufferLength:DWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCombineUrlA';
  2202. function InternetQueryOption(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; var lpdwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetQueryOptionA';
  2203. function InternetGetLastResponseInfo(lpdwError:LPDWORD; lpszBuffer:LPSTR; var lpdwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetLastResponseInfoA';
  2204. function GopherCreateLocator(lpszHost:LPCSTR; nServerPort:INTERNET_PORT; lpszDisplayString:LPCSTR; lpszSelectorString:LPCSTR; dwGopherType:DWORD;
  2205. lpszLocator:LPSTR; var lpdwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherCreateLocatorA';
  2206. function GopherGetLocatorType(lpszLocator:LPCSTR; var lpdwGopherType:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherGetLocatorTypeA';
  2207. function HttpQueryInfo(hRequest:HINTERNET; dwInfoLevel:DWORD; lpBuffer:LPVOID; var lpdwBufferLength:DWORD; var lpdwIndex:DWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpQueryInfoA';
  2208. function InternetGetCookie(lpszUrl:LPCSTR; lpszCookieName:LPCSTR; lpszCookieData:LPSTR;var lpdwSize:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieA';
  2209. function InternetGetCookieEx(lpszUrl:LPCSTR; lpszCookieName:LPCSTR; lpszCookieData:LPSTR; var lpdwSize:DWORD; dwFlags:DWORD;
  2210. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieExA';
  2211. function RetrieveUrlCacheEntryFile(lpszUrlName:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; var lpcbCacheEntryInfo:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryFileA';
  2212. function RetrieveUrlCacheEntryStream(lpszUrlName:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; var lpcbCacheEntryInfo:DWORD; fRandomRead:BOOL; dwReserved:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryStreamA';
  2213. function GetUrlCacheEntryInfo(lpszUrlName:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; var lpcbCacheEntryInfo:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoA';
  2214. function GetUrlCacheGroupAttribute(gid:GROUPID; dwFlags:DWORD; dwAttributes:DWORD; lpGroupInfo:LPINTERNET_CACHE_GROUP_INFOA; var lpdwGroupInfo:DWORD;
  2215. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheGroupAttributeA';
  2216. function GetUrlCacheEntryInfoEx(lpszUrl:LPCSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; var lpcbCacheEntryInfo:DWORD; lpszRedirectUrl:LPSTR; var lpcbRedirectUrl:DWORD;
  2217. lpReserved:LPVOID; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoExA';
  2218. function FindFirstUrlCacheEntryEx(lpszUrlSearchPattern:LPCSTR; dwFlags:DWORD; dwFilter:DWORD; GroupId:GROUPID; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA;
  2219. var lpcbEntryInfo:DWORD; lpGroupAttributes:LPVOID; var lpcbGroupAttributes:DWORD; lpReserved:LPVOID):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryExA';
  2220. function FindNextUrlCacheEntryEx(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; var lpcbEntryInfo:DWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD;
  2221. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryExA';
  2222. function FindFirstUrlCacheEntry(lpszUrlSearchPattern:LPCSTR; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; var lpcbCacheEntryInfo:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryA';
  2223. function FindNextUrlCacheEntry(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOA; var lpcbCacheEntryInfo:DWORD):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryA';
  2224. function InternetDial(hwndParent:HWND; lpszConnectoid:LPSTR; dwFlags:DWORD; var lpdwConnection:DWORD; dwReserved:DWORD):DWORD;stdcall;external WININETLIBNAME name 'InternetDialA';
  2225. function InternetGetConnectedStateEx(var lpdwFlags:DWORD; lpszConnectionName:LPSTR; dwBufLen:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetConnectedStateExA';
  2226. function FtpGetCurrentDirectory(hConnect:HINTERNET; lpszCurrentDirectory:LPSTR; var lpdwCurrentDirectory:DWORD):BOOL;stdcall;external WININETLIBNAME name 'FtpGetCurrentDirectoryA';
  2227. function FtpFindFirstFile(hConnect:HINTERNET; lpszSearchFile:LPCSTR; var lpFindFileData:WIN32_FIND_DATA; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'FtpFindFirstFileA';
  2228. function GopherFindFirstFile(hConnect:HINTERNET; lpszLocator:LPCSTR; lpszSearchString:LPCSTR; var lpFindData:GOPHER_FIND_DATAA; dwFlags:DWORD;
  2229. dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'GopherFindFirstFileA';
  2230. function GopherGetAttribute(hConnect:HINTERNET; lpszLocator:LPCSTR; lpszAttributeName:LPCSTR; lpBuffer:LPBYTE; dwBufferLength:DWORD;
  2231. var lpdwCharactersReturned:DWORD; lpfnEnumerator:GOPHER_ATTRIBUTE_ENUMERATOR; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'GopherGetAttributeA';
  2232. function RetrieveUrlCacheEntryFile(lpszUrlName:LPCSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryFileA';
  2233. function RetrieveUrlCacheEntryStream(lpszUrlName:LPCSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD; fRandomRead:BOOL; dwReserved:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryStreamA';
  2234. function GetUrlCacheEntryInfo(lpszUrlName:LPCSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoA';
  2235. function SetUrlCacheEntryInfo(lpszUrlName:LPCSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; dwFieldControl:DWORD):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheEntryInfoA';
  2236. function FindFirstUrlCacheEntryEx(lpszUrlSearchPattern:LPCSTR; dwFlags:DWORD; dwFilter:DWORD; GroupId:GROUPID; var lpFirstCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA;
  2237. lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD; lpReserved:LPVOID):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryExA';
  2238. function FindNextUrlCacheEntryEx(hEnumHandle:HANDLE; var lpNextCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD;
  2239. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryExA';
  2240. function FindFirstUrlCacheEntry(lpszUrlSearchPattern:LPCSTR; var lpFirstCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryA';
  2241. function FindFirstUrlCacheEntry(lpszUrlSearchPattern:LPCSTR; var lpFirstCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; var lpcbCacheEntryInfo:LongWord):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryA';
  2242. function FindNextUrlCacheEntry(hEnumHandle:HANDLE; var lpNextCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryA';
  2243. function FindNextUrlCacheEntry(hEnumHandle:HANDLE; var lpNextCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOA; var lpcbCacheEntryInfo:LongWord):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryA';
  2244. {$ELSE}
  2245. function InternetTimeFromSystemTime(pst:PSYSTEMTIME; dwRFC:DWORD; lpszTime:LPWSTR; cbTime:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetTimeFromSystemTimeW';
  2246. function InternetTimeToSystemTime(lpszTime:LPCWSTR; pst:PSYSTEMTIME; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetTimeToSystemTimeW';
  2247. function InternetCrackUrl(lpszUrl:LPCWSTR; dwUrlLength:DWORD; dwFlags:DWORD; lpUrlComponents:LPURL_COMPONENTSW):BOOL;stdcall;external WININETLIBNAME name 'InternetCrackUrlW';
  2248. function InternetCreateUrl(lpUrlComponents:LPURL_COMPONENTSW; dwFlags:DWORD; lpszUrl:LPWSTR; lpdwUrlLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCreateUrlW';
  2249. function InternetCanonicalizeUrl(lpszUrl:LPCWSTR; lpszBuffer:LPWSTR; lpdwBufferLength:LPDWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCanonicalizeUrlW';
  2250. function InternetCombineUrl(lpszBaseUrl:LPCWSTR; lpszRelativeUrl:LPCWSTR; lpszBuffer:LPWSTR; lpdwBufferLength:LPDWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCombineUrlW';
  2251. function InternetOpen(lpszAgent:LPCWSTR; dwAccessType:DWORD; lpszProxy:LPCWSTR; lpszProxyBypass:LPCWSTR; dwFlags:DWORD):HINTERNET;stdcall;external WININETLIBNAME name 'InternetOpenW';
  2252. function InternetConnect(hInternet:HINTERNET; lpszServerName:LPCWSTR; nServerPort:INTERNET_PORT; lpszUserName:LPCWSTR; lpszPassword:LPCWSTR;
  2253. dwService:DWORD; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'InternetConnectW';
  2254. function InternetOpenUrl(hInternet:HINTERNET; lpszUrl:LPCWSTR; lpszHeaders:LPCWSTR; dwHeadersLength:DWORD; dwFlags:DWORD;
  2255. dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'InternetOpenUrlW';
  2256. function InternetReadFileEx(hFile:HINTERNET; lpBuffersOut:LPINTERNET_BUFFERSW; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'InternetReadFileExW';
  2257. function InternetFindNextFile(hFind:HINTERNET; lpvFindData:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'InternetFindNextFileW';
  2258. function InternetQueryOption(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; lpdwBufferLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetQueryOptionW';
  2259. function InternetSetOption(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; dwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetOptionW';
  2260. function InternetSetOptionEx(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; dwBufferLength:DWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetOptionExW';
  2261. function InternetGetLastResponseInfo(lpdwError:LPDWORD; lpszBuffer:LPWSTR; lpdwBufferLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetLastResponseInfoW';
  2262. function InternetSetStatusCallback(hInternet:HINTERNET; lpfnInternetCallback:INTERNET_STATUS_CALLBACK):INTERNET_STATUS_CALLBACK;stdcall;external WININETLIBNAME name 'InternetSetStatusCallbackW';
  2263. function FtpFindFirstFile(hConnect:HINTERNET; lpszSearchFile:LPCWSTR; lpFindFileData:LPWIN32_FIND_DATAW; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'FtpFindFirstFileW';
  2264. function FtpGetFile(hConnect:HINTERNET; lpszRemoteFile:LPCWSTR; lpszNewFile:LPCWSTR; fFailIfExists:BOOL; dwFlagsAndAttributes:DWORD;
  2265. dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'FtpGetFileW';
  2266. function FtpPutFile(hConnect:HINTERNET; lpszLocalFile:LPCWSTR; lpszNewRemoteFile:LPCWSTR; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'FtpPutFileW';
  2267. function FtpDeleteFile(hConnect:HINTERNET; lpszFileName:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpDeleteFileW';
  2268. function FtpRenameFile(hConnect:HINTERNET; lpszExisting:LPCWSTR; lpszNew:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpRenameFileW';
  2269. function FtpOpenFile(hConnect:HINTERNET; lpszFileName:LPCWSTR; dwAccess:DWORD; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'FtpOpenFileW';
  2270. function FtpCreateDirectory(hConnect:HINTERNET; lpszDirectory:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpCreateDirectoryW';
  2271. function FtpRemoveDirectory(hConnect:HINTERNET; lpszDirectory:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpRemoveDirectoryW';
  2272. function FtpSetCurrentDirectory(hConnect:HINTERNET; lpszDirectory:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'FtpSetCurrentDirectoryW';
  2273. function FtpGetCurrentDirectory(hConnect:HINTERNET; lpszCurrentDirectory:LPWSTR; lpdwCurrentDirectory:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'FtpGetCurrentDirectoryW';
  2274. function FtpCommand(hConnect:HINTERNET; fExpectResponse:BOOL; dwFlags:DWORD; lpszCommand:LPCWSTR; dwContext:DWORD_PTR;
  2275. phFtpCommand:PHINTERNET):BOOL;stdcall;external WININETLIBNAME name 'FtpCommandW';
  2276. function GopherCreateLocator(lpszHost:LPCWSTR; nServerPort:INTERNET_PORT; lpszDisplayString:LPCWSTR; lpszSelectorString:LPCWSTR; dwGopherType:DWORD;
  2277. lpszLocator:LPWSTR; lpdwBufferLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherCreateLocatorW';
  2278. function GopherGetLocatorType(lpszLocator:LPCWSTR; lpdwGopherType:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherGetLocatorTypeW';
  2279. function GopherFindFirstFile(hConnect:HINTERNET; lpszLocator:LPCWSTR; lpszSearchString:LPCWSTR; lpFindData:LPGOPHER_FIND_DATAW; dwFlags:DWORD;
  2280. dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'GopherFindFirstFileW';
  2281. function GopherOpenFile(hConnect:HINTERNET; lpszLocator:LPCWSTR; lpszView:LPCWSTR; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'GopherOpenFileW';
  2282. function GopherGetAttribute(hConnect:HINTERNET; lpszLocator:LPCWSTR; lpszAttributeName:LPCWSTR; lpBuffer:LPBYTE; dwBufferLength:DWORD;
  2283. lpdwCharactersReturned:LPDWORD; lpfnEnumerator:GOPHER_ATTRIBUTE_ENUMERATOR; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'GopherGetAttributeW';
  2284. function HttpOpenRequest(hConnect:HINTERNET; lpszVerb:LPCWSTR; lpszObjectName:LPCWSTR; lpszVersion:LPCWSTR; lpszReferrer:LPCWSTR;
  2285. lplpszAcceptTypes:LPPCWSTR; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'HttpOpenRequestW';
  2286. function HttpAddRequestHeaders(hRequest:HINTERNET; lpszHeaders:LPCWSTR; dwHeadersLength:DWORD; dwModifiers:DWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpAddRequestHeadersW';
  2287. function HttpSendRequest(hRequest:HINTERNET; lpszHeaders:LPCWSTR; dwHeadersLength:DWORD; lpOptional:LPVOID; dwOptionalLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpSendRequestW';
  2288. function HttpSendRequestEx(hRequest:HINTERNET; lpBuffersIn:LPINTERNET_BUFFERSW; lpBuffersOut:LPINTERNET_BUFFERSW; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'HttpSendRequestExW';
  2289. function HttpEndRequest(hRequest:HINTERNET; lpBuffersOut:LPINTERNET_BUFFERSW; dwFlags:DWORD; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'HttpEndRequestW';
  2290. function HttpQueryInfo(hRequest:HINTERNET; dwInfoLevel:DWORD; lpBuffer:LPVOID; lpdwBufferLength:LPDWORD; lpdwIndex:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpQueryInfoW';
  2291. function InternetSetCookie(lpszUrl:LPCWSTR; lpszCookieName:LPCWSTR; lpszCookieData:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'InternetSetCookieW';
  2292. function InternetGetCookie(lpszUrl:LPCWSTR; lpszCookieName:LPCWSTR; lpszCookieData:LPWSTR; lpdwSize:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieW';
  2293. function InternetSetCookieEx(lpszUrl:LPCWSTR; lpszCookieName:LPCWSTR; lpszCookieData:LPCWSTR; dwFlags:DWORD; dwReserved:DWORD_PTR):DWORD;stdcall;external WININETLIBNAME name 'InternetSetCookieExW';
  2294. function InternetGetCookieEx(lpszUrl:LPCWSTR; lpszCookieName:LPCWSTR; lpszCookieData:LPWSTR; lpdwSize:LPDWORD; dwFlags:DWORD;
  2295. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieExW';
  2296. function InternetCheckConnection(lpszUrl:LPCWSTR; dwFlags:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCheckConnectionW';
  2297. function InternetConfirmZoneCrossing(hWnd:HWND; szUrlPrev:LPWSTR; szUrlNew:LPWSTR; bPost:BOOL):DWORD;stdcall;external WININETLIBNAME name 'InternetConfirmZoneCrossingW';
  2298. function CreateUrlCacheEntry(lpszUrlName:LPCWSTR; dwExpectedFileSize:DWORD; lpszFileExtension:LPCWSTR; lpszFileName:LPWSTR; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'CreateUrlCacheEntryW';
  2299. function CommitUrlCacheEntry(lpszUrlName:LPCWSTR; lpszLocalFileName:LPCWSTR; ExpireTime:FILETIME; LastModifiedTime:FILETIME; CacheEntryType:DWORD;
  2300. lpHeaderInfo:LPCWSTR; dwHeaderSize:DWORD; lpszFileExtension:LPCWSTR; lpszOriginalUrl:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'CommitUrlCacheEntryW';
  2301. function RetrieveUrlCacheEntryFile(lpszUrlName:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryFileW';
  2302. function UnlockUrlCacheEntryFile(lpszUrlName:LPCWSTR; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'UnlockUrlCacheEntryFileW';
  2303. function RetrieveUrlCacheEntryStream(lpszUrlName:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD; fRandomRead:BOOL; dwReserved:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryStreamW';
  2304. function GetUrlCacheEntryInfo(lpszUrlName:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoW';
  2305. function GetUrlCacheGroupAttribute(gid:GROUPID; dwFlags:DWORD; dwAttributes:DWORD; lpGroupInfo:LPINTERNET_CACHE_GROUP_INFOW; lpdwGroupInfo:LPDWORD;
  2306. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheGroupAttributeW';
  2307. function SetUrlCacheGroupAttribute(gid:GROUPID; dwFlags:DWORD; dwAttributes:DWORD; lpGroupInfo:LPINTERNET_CACHE_GROUP_INFOW; lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheGroupAttributeW';
  2308. function GetUrlCacheEntryInfoEx(lpszUrl:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD; lpszRedirectUrl:LPWSTR; lpcbRedirectUrl:LPDWORD;
  2309. lpReserved:LPVOID; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoExW';
  2310. function SetUrlCacheEntryInfo(lpszUrlName:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; dwFieldControl:DWORD):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheEntryInfoW';
  2311. function SetUrlCacheEntryGroup(lpszUrlName:LPCWSTR; dwFlags:DWORD; GroupId:GROUPID; pbGroupAttributes:LPBYTE; cbGroupAttributes:DWORD;
  2312. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheEntryGroupW';
  2313. function FindFirstUrlCacheEntryEx(lpszUrlSearchPattern:LPCWSTR; dwFlags:DWORD; dwFilter:DWORD; GroupId:GROUPID; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW;
  2314. lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD; lpReserved:LPVOID):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryExW';
  2315. function FindNextUrlCacheEntryEx(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD;
  2316. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryExW';
  2317. function FindFirstUrlCacheEntry(lpszUrlSearchPattern:LPCWSTR; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryW';
  2318. function FindFirstUrlCacheEntry(lpszUrlSearchPattern:LPCWSTR; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbCacheEntryInfo:LongWord):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryW';
  2319. function FindNextUrlCacheEntry(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryW';
  2320. function FindNextUrlCacheEntry(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbCacheEntryInfo:LongWord):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryW';
  2321. // function FindCloseUrlCache(hEnumHandle:HANDLE):BOOL;stdcall;external WININETLIBNAME name 'FindCloseUrlCache';
  2322. function DeleteUrlCacheEntry(lpszUrlName:LPCWSTR):BOOL;stdcall;external WININETLIBNAME name 'DeleteUrlCacheEntryW';
  2323. function InternetDial(hwndParent:HWND; lpszConnectoid:LPWSTR; dwFlags:DWORD; lpdwConnection:PDWORD_PTR; dwReserved:DWORD):DWORD;stdcall;external WININETLIBNAME name 'InternetDialW';
  2324. function InternetGoOnline(lpszURL:LPWSTR; hwndParent:HWND; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGoOnlineW';
  2325. function InternetGetConnectedStateEx(lpdwFlags:LPDWORD; lpszConnectionName:LPWSTR; dwBufLen:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetConnectedStateExW';
  2326. function InternetSetDialState(lpszConnectoid:LPCWSTR; dwState:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetDialStateW';
  2327. function InternetSetPerSiteCookieDecision(pchHostName:LPCWSTR; dwDecision:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetSetPerSiteCookieDecisionW';
  2328. function InternetGetPerSiteCookieDecision(pchHostName:LPCWSTR; pResult:Pdword):BOOL;stdcall;external WININETLIBNAME name 'InternetGetPerSiteCookieDecisionW';
  2329. function InternetEnumPerSiteCookieDecision(pszSiteName:LPWSTR; pcSiteNameSize:Pdword; pdwDecision:Pdword; dwIndex:dword):BOOL;stdcall;external WININETLIBNAME name 'InternetEnumPerSiteCookieDecisionW';
  2330. function PrivacySetZonePreference(dwZone:DWORD; dwType:DWORD; dwTemplate:DWORD; pszPreference:LPCWSTR):DWORD;stdcall;external WININETLIBNAME name 'PrivacySetZonePreferenceW';
  2331. function PrivacyGetZonePreference(dwZone:DWORD; dwType:DWORD; pdwTemplate:LPDWORD; pszBuffer:LPWSTR; pdwBufferLength:LPDWORD):DWORD;stdcall;external WININETLIBNAME name 'PrivacyGetZonePreferenceW';
  2332. {wide overloads}
  2333. function InternetCrackUrl(lpszUrl:LPCWSTR; dwUrlLength:DWORD; dwFlags:DWORD; var lpUrlComponents:URL_COMPONENTSW):BOOL;stdcall;external WININETLIBNAME name 'InternetCrackUrlW';
  2334. function InternetCreateUrl(var lpUrlComponents:URL_COMPONENTSW; dwFlags:DWORD; lpszUrl:LPWSTR; lpdwUrlLength:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCreateUrlW';
  2335. function InternetCreateUrl(lpUrlComponents:LPURL_COMPONENTSW; dwFlags:DWORD; lpszUrl:LPWSTR;var lpdwUrlLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCreateUrlW';
  2336. function InternetCanonicalizeUrl(lpszUrl:LPCWSTR; lpszBuffer:LPWSTR; var lpdwBufferLength:DWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCanonicalizeUrlW';
  2337. function InternetCombineUrl(lpszBaseUrl:LPCWSTR; lpszRelativeUrl:LPCWSTR; lpszBuffer:LPWSTR;var lpdwBufferLength:DWORD; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetCombineUrlW';
  2338. function InternetQueryOption(hInternet:HINTERNET; dwOption:DWORD; lpBuffer:LPVOID; var lpdwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetQueryOptionW';
  2339. function InternetGetLastResponseInfo(lpdwError:LPDWORD; lpszBuffer:LPWSTR; var lpdwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetLastResponseInfoW';
  2340. function GopherCreateLocator(lpszHost:LPCWSTR; nServerPort:INTERNET_PORT; lpszDisplayString:LPCWSTR; lpszSelectorString:LPCWSTR; dwGopherType:DWORD;
  2341. lpszLocator:LPWSTR; var lpdwBufferLength:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherCreateLocatorW';
  2342. function GopherGetLocatorType(lpszLocator:LPCWSTR; var lpdwGopherType:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GopherGetLocatorTypeW';
  2343. function HttpQueryInfo(hRequest:HINTERNET; dwInfoLevel:DWORD; lpBuffer:LPVOID; var lpdwBufferLength:DWORD; var lpdwIndex:DWORD):BOOL;stdcall;external WININETLIBNAME name 'HttpQueryInfoW';
  2344. function InternetGetCookie(lpszUrl:LPCWSTR; lpszCookieName:LPCWSTR; lpszCookieData:LPWSTR;var lpdwSize:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieW';
  2345. function InternetGetCookieEx(lpszUrl:LPCWSTR; lpszCookieName:LPCWSTR; lpszCookieData:LPWSTR; var lpdwSize:DWORD; dwFlags:DWORD;
  2346. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'InternetGetCookieExW';
  2347. function RetrieveUrlCacheEntryFile(lpszUrlName:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbCacheEntryInfo:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryFileW';
  2348. function RetrieveUrlCacheEntryStream(lpszUrlName:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbCacheEntryInfo:DWORD; fRandomRead:BOOL; dwReserved:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryStreamW';
  2349. function GetUrlCacheEntryInfo(lpszUrlName:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbCacheEntryInfo:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoW';
  2350. function GetUrlCacheGroupAttribute(gid:GROUPID; dwFlags:DWORD; dwAttributes:DWORD; lpGroupInfo:LPINTERNET_CACHE_GROUP_INFOW; var lpdwGroupInfo:DWORD;
  2351. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheGroupAttributeW';
  2352. function GetUrlCacheEntryInfoEx(lpszUrl:LPCWSTR; lpCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbCacheEntryInfo:DWORD; lpszRedirectUrl:LPWSTR; var lpcbRedirectUrl:DWORD;
  2353. lpReserved:LPVOID; dwFlags:DWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoExW';
  2354. function FindFirstUrlCacheEntryEx(lpszUrlSearchPattern:LPCWSTR; dwFlags:DWORD; dwFilter:DWORD; GroupId:GROUPID; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW;
  2355. var lpcbEntryInfo:DWORD; lpGroupAttributes:LPVOID; var lpcbGroupAttributes:DWORD; lpReserved:LPVOID):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryExW';
  2356. function FindNextUrlCacheEntryEx(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbEntryInfo:DWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD;
  2357. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryExW';
  2358. function FindFirstUrlCacheEntry(lpszUrlSearchPattern:LPCWSTR; lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbCacheEntryInfo:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryW';
  2359. function FindNextUrlCacheEntry(hEnumHandle:HANDLE; lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var lpcbCacheEntryInfo:DWORD):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryW';
  2360. function InternetDial(hwndParent:HWND; lpszConnectoid:LPWSTR; dwFlags:DWORD; var lpdwConnection:DWORD; dwReserved:DWORD):DWORD;stdcall;external WININETLIBNAME name 'InternetDialW';
  2361. function InternetGetConnectedStateEx(var lpdwFlags:DWORD; lpszConnectionName:LPWSTR; dwBufLen:DWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'InternetGetConnectedStateExW';
  2362. function FtpGetCurrentDirectory(hConnect:HINTERNET; lpszCurrentDirectory:LPWSTR; var lpdwCurrentDirectory:DWORD):BOOL;stdcall;external WININETLIBNAME name 'FtpGetCurrentDirectoryW';
  2363. function FtpFindFirstFile(hConnect:HINTERNET; lpszSearchFile:LPCWSTR; var lpFindFileData:WIN32_FIND_DATAW; dwFlags:DWORD; dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'FtpFindFirstFileW';
  2364. function GopherFindFirstFile(hConnect:HINTERNET; lpszLocator:LPCWSTR; lpszSearchString:LPCWSTR; var lpFindData:GOPHER_FIND_DATAW; dwFlags:DWORD;
  2365. dwContext:DWORD_PTR):HINTERNET;stdcall;external WININETLIBNAME name 'GopherFindFirstFileW';
  2366. function GopherGetAttribute(hConnect:HINTERNET; lpszLocator:LPCWSTR; lpszAttributeName:LPCWSTR; lpBuffer:LPBYTE; dwBufferLength:DWORD;
  2367. var lpdwCharactersReturned:DWORD; lpfnEnumerator:GOPHER_ATTRIBUTE_ENUMERATOR; dwContext:DWORD_PTR):BOOL;stdcall;external WININETLIBNAME name 'GopherGetAttributeW';
  2368. function RetrieveUrlCacheEntryFile(lpszUrlName:LPCWSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD; dwReserved:DWORD):BOOL;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryFileW';
  2369. function RetrieveUrlCacheEntryStream(lpszUrlName:LPCWSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD; fRandomRead:BOOL; dwReserved:DWORD):HANDLE;stdcall;external WININETLIBNAME name 'RetrieveUrlCacheEntryStreamW';
  2370. function GetUrlCacheEntryInfo(lpszUrlName:LPCWSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'GetUrlCacheEntryInfoW';
  2371. function SetUrlCacheEntryInfo(lpszUrlName:LPCWSTR; var lpCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW; dwFieldControl:DWORD):BOOL;stdcall;external WININETLIBNAME name 'SetUrlCacheEntryInfoW';
  2372. function FindFirstUrlCacheEntryEx(lpszUrlSearchPattern:LPCWSTR; dwFlags:DWORD; dwFilter:DWORD; GroupId:GROUPID; var lpFirstCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW;
  2373. lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD; lpReserved:LPVOID):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryExW';
  2374. function FindNextUrlCacheEntryEx(hEnumHandle:HANDLE; var lpNextCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW; lpcbEntryInfo:LPDWORD; lpGroupAttributes:LPVOID; lpcbGroupAttributes:LPDWORD;
  2375. lpReserved:LPVOID):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryExW';
  2376. function FindFirstUrlCacheEntry(lpszUrlSearchPattern:LPCWSTR; var lpFirstCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD):HANDLE;stdcall;external WININETLIBNAME name 'FindFirstUrlCacheEntryW';
  2377. function FindNextUrlCacheEntry(hEnumHandle:HANDLE; var lpNextCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW; lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name 'FindNextUrlCacheEntryW';
  2378. {$endif}
  2379. function IS_GOPHER_TEXT_FILE(gtype:DWORD):BOOL; inline;
  2380. function IS_GOPHER_DIRECTORY(gtype:DWORD):BOOL; inline;
  2381. function IS_GOPHER_CSO(gtype:DWORD):BOOL; inline;
  2382. function IS_GOPHER_ERROR(gtype:DWORD):BOOL; inline;
  2383. function IS_GOPHER_MAC_BINHEX(gtype:DWORD):BOOL; inline;
  2384. function IS_GOPHER_DOS_ARCHIVE(gtype:DWORD):BOOL; inline;
  2385. function IS_GOPHER_UNIX_UUENCODED(gtype:DWORD):BOOL; inline;
  2386. function IS_GOPHER_INDEX_SERVER(gtype:DWORD):BOOL; inline;
  2387. function IS_GOPHER_TELNET(gtype:DWORD):BOOL; inline;
  2388. function IS_GOPHER_BINARY(gtype:DWORD):BOOL; inline;
  2389. function IS_GOPHER_REDUNDANT(gtype:DWORD):BOOL; inline;
  2390. function IS_GOPHER_TN3270(gtype:DWORD):BOOL; inline;
  2391. function IS_GOPHER_GIF(gtype:DWORD):BOOL; inline;
  2392. function IS_GOPHER_IMAGE(gtype:DWORD):BOOL; inline;
  2393. function IS_GOPHER_BITMAP(gtype:DWORD):BOOL; inline;
  2394. function IS_GOPHER_MOVIE(gtype:DWORD):BOOL; inline;
  2395. function IS_GOPHER_SOUND(gtype:DWORD):BOOL; inline;
  2396. function IS_GOPHER_HTML(gtype:DWORD):BOOL; inline;
  2397. function IS_GOPHER_PDF(gtype:DWORD):BOOL; inline;
  2398. function IS_GOPHER_CALENDAR(gtype:DWORD):BOOL; inline;
  2399. function IS_GOPHER_INLINE(gtype:DWORD):BOOL; inline;
  2400. function IS_GOPHER_UNKNOWN(gtype:DWORD):BOOL; inline;
  2401. function IS_GOPHER_ASK(gtype:DWORD):BOOL; inline;
  2402. function IS_GOPHER_GOPHER_PLUS(gtype:DWORD):BOOL; inline;
  2403. implementation
  2404. function IS_GOPHER_TEXT_FILE(gtype:DWORD):BOOL;
  2405. begin
  2406. result:=(gtype and GOPHER_TYPE_TEXT_FILE)=0;
  2407. end;
  2408. function IS_GOPHER_DIRECTORY(gtype:DWORD):BOOL;
  2409. begin
  2410. result:=(gtype and GOPHER_TYPE_DIRECTORY)=0;
  2411. end;
  2412. function IS_GOPHER_CSO(gtype:DWORD):BOOL;
  2413. begin
  2414. result:=(gtype and GOPHER_TYPE_CSO)=0;
  2415. end;
  2416. function IS_GOPHER_ERROR(gtype:DWORD):BOOL;
  2417. begin
  2418. result:=(gtype and GOPHER_TYPE_ERROR)=0;
  2419. end;
  2420. function IS_GOPHER_MAC_BINHEX(gtype:DWORD):BOOL;
  2421. begin
  2422. result:=(gtype and GOPHER_TYPE_MAC_BINHEX)=0;
  2423. end;
  2424. function IS_GOPHER_DOS_ARCHIVE(gtype:DWORD):BOOL;
  2425. begin
  2426. result:=(gtype and GOPHER_TYPE_DOS_ARCHIVE)=0;
  2427. end;
  2428. function IS_GOPHER_UNIX_UUENCODED(gtype:DWORD):BOOL;
  2429. begin
  2430. result:=(gtype and GOPHER_TYPE_UNIX_UUENCODED)=0;
  2431. end;
  2432. function IS_GOPHER_INDEX_SERVER(gtype:DWORD):BOOL;
  2433. begin
  2434. result:=(gtype and GOPHER_TYPE_INDEX_SERVER)=0;
  2435. end;
  2436. function IS_GOPHER_TELNET(gtype:DWORD):BOOL;
  2437. begin
  2438. result:=(gtype and GOPHER_TYPE_TELNET)=0;
  2439. end;
  2440. function IS_GOPHER_BINARY(gtype:DWORD):BOOL;
  2441. begin
  2442. result:=(gtype and GOPHER_TYPE_BINARY)=0;
  2443. end;
  2444. function IS_GOPHER_REDUNDANT(gtype:DWORD):BOOL;
  2445. begin
  2446. result:=(gtype and GOPHER_TYPE_REDUNDANT)=0;
  2447. end;
  2448. function IS_GOPHER_TN3270(gtype:DWORD):BOOL;
  2449. begin
  2450. result:=(gtype and GOPHER_TYPE_TN3270)=0;
  2451. end;
  2452. function IS_GOPHER_GIF(gtype:DWORD):BOOL;
  2453. begin
  2454. result:=(gtype and GOPHER_TYPE_GIF)=0;
  2455. end;
  2456. function IS_GOPHER_IMAGE(gtype:DWORD):BOOL;
  2457. begin
  2458. result:=(gtype and GOPHER_TYPE_IMAGE)=0;
  2459. end;
  2460. function IS_GOPHER_BITMAP(gtype:DWORD):BOOL;
  2461. begin
  2462. result:=(gtype and GOPHER_TYPE_BITMAP)=0;
  2463. end;
  2464. function IS_GOPHER_MOVIE(gtype:DWORD):BOOL;
  2465. begin
  2466. result:=(gtype and GOPHER_TYPE_MOVIE)=0;
  2467. end;
  2468. function IS_GOPHER_SOUND(gtype:DWORD):BOOL;
  2469. begin
  2470. result:=(gtype and GOPHER_TYPE_SOUND)=0;
  2471. end;
  2472. function IS_GOPHER_HTML(gtype:DWORD):BOOL;
  2473. begin
  2474. result:=(gtype and GOPHER_TYPE_HTML)=0;
  2475. end;
  2476. function IS_GOPHER_PDF(gtype:DWORD):BOOL;
  2477. begin
  2478. result:=(gtype and GOPHER_TYPE_PDF)=0;
  2479. end;
  2480. function IS_GOPHER_CALENDAR(gtype:DWORD):BOOL;
  2481. begin
  2482. result:=(gtype and GOPHER_TYPE_CALENDAR)=0;
  2483. end;
  2484. function IS_GOPHER_INLINE(gtype:DWORD):BOOL;
  2485. begin
  2486. result:=(gtype and GOPHER_TYPE_INLINE)=0;
  2487. end;
  2488. function IS_GOPHER_UNKNOWN(gtype:DWORD):BOOL;
  2489. begin
  2490. result:=(gtype and GOPHER_TYPE_UNKNOWN)=0;
  2491. end;
  2492. function IS_GOPHER_ASK(gtype:DWORD):BOOL;
  2493. begin
  2494. result:=(gtype and GOPHER_TYPE_ASK)=0;
  2495. end;
  2496. function IS_GOPHER_GOPHER_PLUS(gtype:DWORD):BOOL;
  2497. begin
  2498. result:=(gtype and GOPHER_TYPE_GOPHER_PLUS)=0;
  2499. end;
  2500. end.