wininet.pp 180 KB

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