jwawinnetwk.pas 57 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892
  1. {******************************************************************************}
  2. { }
  3. { Windows Networking API interface Unit for Object Pascal }
  4. { }
  5. { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft }
  6. { Corporation. All Rights Reserved. }
  7. { }
  8. { The original file is: winnetwk.h, released June 2000. The original Pascal }
  9. { code is: WinNetWk.pas, released December 2000. The initial developer of the }
  10. { Pascal code is Marcel van Brakel (brakelm att chello dott nl). }
  11. { }
  12. { Portions created by Marcel van Brakel are Copyright (C) 1999-2001 }
  13. { Marcel van Brakel. All Rights Reserved. }
  14. { }
  15. { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
  16. { }
  17. { You may retrieve the latest version of this file at the Project JEDI }
  18. { APILIB home page, located at http://jedi-apilib.sourceforge.net }
  19. { }
  20. { The contents of this file are used with permission, subject to the Mozilla }
  21. { Public License Version 1.1 (the "License"); you may not use this file except }
  22. { in compliance with the License. You may obtain a copy of the License at }
  23. { http://www.mozilla.org/MPL/MPL-1.1.html }
  24. { }
  25. { Software distributed under the License is distributed on an "AS IS" basis, }
  26. { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
  27. { the specific language governing rights and limitations under the License. }
  28. { }
  29. { Alternatively, the contents of this file may be used under the terms of the }
  30. { GNU Lesser General Public License (the "LGPL License"), in which case the }
  31. { provisions of the LGPL License are applicable instead of those above. }
  32. { If you wish to allow use of your version of this file only under the terms }
  33. { of the LGPL License and not to allow others to use your version of this file }
  34. { under the MPL, indicate your decision by deleting the provisions above and }
  35. { replace them with the notice and other provisions required by the LGPL }
  36. { License. If you do not delete the provisions above, a recipient may use }
  37. { your version of this file under either the MPL or the LGPL License. }
  38. { }
  39. { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
  40. { }
  41. {******************************************************************************}
  42. // $Id: JwaWinNetWk.pas,v 1.11 2005/09/06 16:36:51 marquardt Exp $
  43. {$IFNDEF JWA_INCLUDEMODE}
  44. unit JwaWinNetWk;
  45. {$WEAKPACKAGEUNIT}
  46. {$I jediapilib.inc}
  47. interface
  48. uses
  49. JwaWinType, JwaWinError;
  50. {$ENDIF !JWA_INCLUDEMODE}
  51. {$IFDEF JWA_INTERFACESECTION}
  52. {$HPPEMIT ''}
  53. {$HPPEMIT '#include "WinNetWk.h"'}
  54. {$HPPEMIT ''}
  55. //
  56. // Network types
  57. //
  58. const
  59. WNNC_NET_MSNET = $00010000;
  60. {$EXTERNALSYM WNNC_NET_MSNET}
  61. WNNC_NET_LANMAN = $00020000;
  62. {$EXTERNALSYM WNNC_NET_LANMAN}
  63. WNNC_NET_NETWARE = $00030000;
  64. {$EXTERNALSYM WNNC_NET_NETWARE}
  65. WNNC_NET_VINES = $00040000;
  66. {$EXTERNALSYM WNNC_NET_VINES}
  67. WNNC_NET_10NET = $00050000;
  68. {$EXTERNALSYM WNNC_NET_10NET}
  69. WNNC_NET_LOCUS = $00060000;
  70. {$EXTERNALSYM WNNC_NET_LOCUS}
  71. WNNC_NET_SUN_PC_NFS = $00070000;
  72. {$EXTERNALSYM WNNC_NET_SUN_PC_NFS}
  73. WNNC_NET_LANSTEP = $00080000;
  74. {$EXTERNALSYM WNNC_NET_LANSTEP}
  75. WNNC_NET_9TILES = $00090000;
  76. {$EXTERNALSYM WNNC_NET_9TILES}
  77. WNNC_NET_LANTASTIC = $000A0000;
  78. {$EXTERNALSYM WNNC_NET_LANTASTIC}
  79. WNNC_NET_AS400 = $000B0000;
  80. {$EXTERNALSYM WNNC_NET_AS400}
  81. WNNC_NET_FTP_NFS = $000C0000;
  82. {$EXTERNALSYM WNNC_NET_FTP_NFS}
  83. WNNC_NET_PATHWORKS = $000D0000;
  84. {$EXTERNALSYM WNNC_NET_PATHWORKS}
  85. WNNC_NET_LIFENET = $000E0000;
  86. {$EXTERNALSYM WNNC_NET_LIFENET}
  87. WNNC_NET_POWERLAN = $000F0000;
  88. {$EXTERNALSYM WNNC_NET_POWERLAN}
  89. WNNC_NET_BWNFS = $00100000;
  90. {$EXTERNALSYM WNNC_NET_BWNFS}
  91. WNNC_NET_COGENT = $00110000;
  92. {$EXTERNALSYM WNNC_NET_COGENT}
  93. WNNC_NET_FARALLON = $00120000;
  94. {$EXTERNALSYM WNNC_NET_FARALLON}
  95. WNNC_NET_APPLETALK = $00130000;
  96. {$EXTERNALSYM WNNC_NET_APPLETALK}
  97. WNNC_NET_INTERGRAPH = $00140000;
  98. {$EXTERNALSYM WNNC_NET_INTERGRAPH}
  99. WNNC_NET_SYMFONET = $00150000;
  100. {$EXTERNALSYM WNNC_NET_SYMFONET}
  101. WNNC_NET_CLEARCASE = $00160000;
  102. {$EXTERNALSYM WNNC_NET_CLEARCASE}
  103. WNNC_NET_FRONTIER = $00170000;
  104. {$EXTERNALSYM WNNC_NET_FRONTIER}
  105. WNNC_NET_BMC = $00180000;
  106. {$EXTERNALSYM WNNC_NET_BMC}
  107. WNNC_NET_DCE = $00190000;
  108. {$EXTERNALSYM WNNC_NET_DCE}
  109. WNNC_NET_AVID = $001A0000;
  110. {$EXTERNALSYM WNNC_NET_AVID}
  111. WNNC_NET_DOCUSPACE = $001B0000;
  112. {$EXTERNALSYM WNNC_NET_DOCUSPACE}
  113. WNNC_NET_MANGOSOFT = $001C0000;
  114. {$EXTERNALSYM WNNC_NET_MANGOSOFT}
  115. WNNC_NET_SERNET = $001D0000;
  116. {$EXTERNALSYM WNNC_NET_SERNET}
  117. WNNC_NET_RIVERFRONT1 = $001E0000;
  118. {$EXTERNALSYM WNNC_NET_RIVERFRONT1}
  119. WNNC_NET_RIVERFRONT2 = $001F0000;
  120. {$EXTERNALSYM WNNC_NET_RIVERFRONT2}
  121. WNNC_NET_DECORB = $00200000;
  122. {$EXTERNALSYM WNNC_NET_DECORB}
  123. WNNC_NET_PROTSTOR = $00210000;
  124. {$EXTERNALSYM WNNC_NET_PROTSTOR}
  125. WNNC_NET_FJ_REDIR = $00220000;
  126. {$EXTERNALSYM WNNC_NET_FJ_REDIR}
  127. WNNC_NET_DISTINCT = $00230000;
  128. {$EXTERNALSYM WNNC_NET_DISTINCT}
  129. WNNC_NET_TWINS = $00240000;
  130. {$EXTERNALSYM WNNC_NET_TWINS}
  131. WNNC_NET_RDR2SAMPLE = $00250000;
  132. {$EXTERNALSYM WNNC_NET_RDR2SAMPLE}
  133. WNNC_NET_CSC = $00260000;
  134. {$EXTERNALSYM WNNC_NET_CSC}
  135. WNNC_NET_3IN1 = $00270000;
  136. {$EXTERNALSYM WNNC_NET_3IN1}
  137. WNNC_NET_EXTENDNET = $00290000;
  138. {$EXTERNALSYM WNNC_NET_EXTENDNET}
  139. WNNC_NET_STAC = $002A0000;
  140. {$EXTERNALSYM WNNC_NET_STAC}
  141. WNNC_NET_FOXBAT = $002B0000;
  142. {$EXTERNALSYM WNNC_NET_FOXBAT}
  143. WNNC_NET_YAHOO = $002C0000;
  144. {$EXTERNALSYM WNNC_NET_YAHOO}
  145. WNNC_NET_EXIFS = $002D0000;
  146. {$EXTERNALSYM WNNC_NET_EXIFS}
  147. WNNC_NET_DAV = $002E0000;
  148. {$EXTERNALSYM WNNC_NET_DAV}
  149. WNNC_NET_KNOWARE = $002F0000;
  150. {$EXTERNALSYM WNNC_NET_KNOWARE}
  151. WNNC_NET_OBJECT_DIRE = $00300000;
  152. {$EXTERNALSYM WNNC_NET_OBJECT_DIRE}
  153. WNNC_NET_MASFAX = $00310000;
  154. {$EXTERNALSYM WNNC_NET_MASFAX}
  155. WNNC_NET_HOB_NFS = $00320000;
  156. {$EXTERNALSYM WNNC_NET_HOB_NFS}
  157. WNNC_NET_SHIVA = $00330000;
  158. {$EXTERNALSYM WNNC_NET_SHIVA}
  159. WNNC_NET_IBMAL = $00340000;
  160. {$EXTERNALSYM WNNC_NET_IBMAL}
  161. WNNC_NET_LOCK = $00350000;
  162. {$EXTERNALSYM WNNC_NET_LOCK}
  163. WNNC_NET_TERMSRV = $00360000;
  164. {$EXTERNALSYM WNNC_NET_TERMSRV}
  165. WNNC_NET_SRT = $00370000;
  166. {$EXTERNALSYM WNNC_NET_SRT}
  167. WNNC_NET_QUINCY = $00380000;
  168. {$EXTERNALSYM WNNC_NET_QUINCY}
  169. WNNC_CRED_MANAGER = DWORD($FFFF0000);
  170. {$EXTERNALSYM WNNC_CRED_MANAGER}
  171. //
  172. // Network Resources.
  173. //
  174. RESOURCE_CONNECTED = $00000001;
  175. {$EXTERNALSYM RESOURCE_CONNECTED}
  176. RESOURCE_GLOBALNET = $00000002;
  177. {$EXTERNALSYM RESOURCE_GLOBALNET}
  178. RESOURCE_REMEMBERED = $00000003;
  179. {$EXTERNALSYM RESOURCE_REMEMBERED}
  180. RESOURCE_RECENT = $00000004;
  181. {$EXTERNALSYM RESOURCE_RECENT}
  182. RESOURCE_CONTEXT = $00000005;
  183. {$EXTERNALSYM RESOURCE_CONTEXT}
  184. RESOURCETYPE_ANY = $00000000;
  185. {$EXTERNALSYM RESOURCETYPE_ANY}
  186. RESOURCETYPE_DISK = $00000001;
  187. {$EXTERNALSYM RESOURCETYPE_DISK}
  188. RESOURCETYPE_PRINT = $00000002;
  189. {$EXTERNALSYM RESOURCETYPE_PRINT}
  190. RESOURCETYPE_RESERVED = $00000008;
  191. {$EXTERNALSYM RESOURCETYPE_RESERVED}
  192. RESOURCETYPE_UNKNOWN = DWORD($FFFFFFFF);
  193. {$EXTERNALSYM RESOURCETYPE_UNKNOWN}
  194. RESOURCEUSAGE_CONNECTABLE = $00000001;
  195. {$EXTERNALSYM RESOURCEUSAGE_CONNECTABLE}
  196. RESOURCEUSAGE_CONTAINER = $00000002;
  197. {$EXTERNALSYM RESOURCEUSAGE_CONTAINER}
  198. RESOURCEUSAGE_NOLOCALDEVICE = $00000004;
  199. {$EXTERNALSYM RESOURCEUSAGE_NOLOCALDEVICE}
  200. RESOURCEUSAGE_SIBLING = $00000008;
  201. {$EXTERNALSYM RESOURCEUSAGE_SIBLING}
  202. RESOURCEUSAGE_ATTACHED = $00000010;
  203. {$EXTERNALSYM RESOURCEUSAGE_ATTACHED}
  204. RESOURCEUSAGE_ALL = (RESOURCEUSAGE_CONNECTABLE or
  205. RESOURCEUSAGE_CONTAINER or RESOURCEUSAGE_ATTACHED);
  206. {$EXTERNALSYM RESOURCEUSAGE_ALL}
  207. RESOURCEUSAGE_RESERVED = DWORD($80000000);
  208. {$EXTERNALSYM RESOURCEUSAGE_RESERVED}
  209. RESOURCEDISPLAYTYPE_GENERIC = $00000000;
  210. {$EXTERNALSYM RESOURCEDISPLAYTYPE_GENERIC}
  211. RESOURCEDISPLAYTYPE_DOMAIN = $00000001;
  212. {$EXTERNALSYM RESOURCEDISPLAYTYPE_DOMAIN}
  213. RESOURCEDISPLAYTYPE_SERVER = $00000002;
  214. {$EXTERNALSYM RESOURCEDISPLAYTYPE_SERVER}
  215. RESOURCEDISPLAYTYPE_SHARE = $00000003;
  216. {$EXTERNALSYM RESOURCEDISPLAYTYPE_SHARE}
  217. RESOURCEDISPLAYTYPE_FILE = $00000004;
  218. {$EXTERNALSYM RESOURCEDISPLAYTYPE_FILE}
  219. RESOURCEDISPLAYTYPE_GROUP = $00000005;
  220. {$EXTERNALSYM RESOURCEDISPLAYTYPE_GROUP}
  221. RESOURCEDISPLAYTYPE_NETWORK = $00000006;
  222. {$EXTERNALSYM RESOURCEDISPLAYTYPE_NETWORK}
  223. RESOURCEDISPLAYTYPE_ROOT = $00000007;
  224. {$EXTERNALSYM RESOURCEDISPLAYTYPE_ROOT}
  225. RESOURCEDISPLAYTYPE_SHAREADMIN = $00000008;
  226. {$EXTERNALSYM RESOURCEDISPLAYTYPE_SHAREADMIN}
  227. RESOURCEDISPLAYTYPE_DIRECTORY = $00000009;
  228. {$EXTERNALSYM RESOURCEDISPLAYTYPE_DIRECTORY}
  229. RESOURCEDISPLAYTYPE_TREE = $0000000A;
  230. {$EXTERNALSYM RESOURCEDISPLAYTYPE_TREE}
  231. RESOURCEDISPLAYTYPE_NDSCONTAINER = $0000000B;
  232. {$EXTERNALSYM RESOURCEDISPLAYTYPE_NDSCONTAINER}
  233. type
  234. LPNETRESOURCEA = ^NETRESOURCEA;
  235. {$EXTERNALSYM LPNETRESOURCEA}
  236. _NETRESOURCEA = record
  237. dwScope: DWORD;
  238. dwType: DWORD;
  239. dwDisplayType: DWORD;
  240. dwUsage: DWORD;
  241. lpLocalName: LPSTR;
  242. lpRemoteName: LPSTR;
  243. lpComment: LPSTR;
  244. lpProvider: LPSTR;
  245. end;
  246. {$EXTERNALSYM _NETRESOURCEA}
  247. NETRESOURCEA = _NETRESOURCEA;
  248. {$EXTERNALSYM NETRESOURCEA}
  249. TNetResourceA = NETRESOURCEA;
  250. PNetResourceA = LPNETRESOURCEA;
  251. LPNETRESOURCEW = ^NETRESOURCEW;
  252. {$EXTERNALSYM LPNETRESOURCEW}
  253. _NETRESOURCEW = record
  254. dwScope: DWORD;
  255. dwType: DWORD;
  256. dwDisplayType: DWORD;
  257. dwUsage: DWORD;
  258. lpLocalName: LPWSTR;
  259. lpRemoteName: LPWSTR;
  260. lpComment: LPWSTR;
  261. lpProvider: LPWSTR;
  262. end;
  263. {$EXTERNALSYM _NETRESOURCEW}
  264. NETRESOURCEW = _NETRESOURCEW;
  265. {$EXTERNALSYM NETRESOURCEW}
  266. TNetResourceW = NETRESOURCEW;
  267. PNetResourceW = LPNETRESOURCEW;
  268. {$IFDEF UNICODE}
  269. NETRESOURCE = NETRESOURCEW;
  270. {$EXTERNALSYM NETRESOURCE}
  271. LPNETRESOURCE = LPNETRESOURCEW;
  272. {$EXTERNALSYM LPNETRESOURCE}
  273. TNetResource = TNetResourceW;
  274. PNetResource = PNetResourceW;
  275. {$ELSE}
  276. NETRESOURCE = NETRESOURCEA;
  277. {$EXTERNALSYM NETRESOURCE}
  278. LPNETRESOURCE = LPNETRESOURCEA;
  279. {$EXTERNALSYM LPNETRESOURCE}
  280. TNetResource = TNetResourceA;
  281. PNetResource = PNetResourceA;
  282. {$ENDIF UNICODE}
  283. //
  284. // Network Connections.
  285. //
  286. const
  287. NETPROPERTY_PERSISTENT = 1;
  288. {$EXTERNALSYM NETPROPERTY_PERSISTENT}
  289. CONNECT_UPDATE_PROFILE = $00000001;
  290. {$EXTERNALSYM CONNECT_UPDATE_PROFILE}
  291. CONNECT_UPDATE_RECENT = $00000002;
  292. {$EXTERNALSYM CONNECT_UPDATE_RECENT}
  293. CONNECT_TEMPORARY = $00000004;
  294. {$EXTERNALSYM CONNECT_TEMPORARY}
  295. CONNECT_INTERACTIVE = $00000008;
  296. {$EXTERNALSYM CONNECT_INTERACTIVE}
  297. CONNECT_PROMPT = $00000010;
  298. {$EXTERNALSYM CONNECT_PROMPT}
  299. CONNECT_NEED_DRIVE = $00000020;
  300. {$EXTERNALSYM CONNECT_NEED_DRIVE}
  301. CONNECT_REFCOUNT = $00000040;
  302. {$EXTERNALSYM CONNECT_REFCOUNT}
  303. CONNECT_REDIRECT = $00000080;
  304. {$EXTERNALSYM CONNECT_REDIRECT}
  305. CONNECT_LOCALDRIVE = $00000100;
  306. {$EXTERNALSYM CONNECT_LOCALDRIVE}
  307. CONNECT_CURRENT_MEDIA = $00000200;
  308. {$EXTERNALSYM CONNECT_CURRENT_MEDIA}
  309. CONNECT_DEFERRED = $00000400;
  310. {$EXTERNALSYM CONNECT_DEFERRED}
  311. CONNECT_RESERVED = DWORD($FF000000);
  312. {$EXTERNALSYM CONNECT_RESERVED}
  313. CONNECT_COMMANDLINE = $00000800;
  314. {$EXTERNALSYM CONNECT_COMMANDLINE}
  315. CONNECT_CMD_SAVECRED = $00001000;
  316. {$EXTERNALSYM CONNECT_CMD_SAVECRED}
  317. function WNetAddConnectionA(lpRemoteName, lpPassword, lpLocalName: LPCSTR): DWORD; stdcall;
  318. {$EXTERNALSYM WNetAddConnectionA}
  319. function WNetAddConnectionW(lpRemoteName, lpPassword, lpLocalName: LPCWSTR): DWORD; stdcall;
  320. {$EXTERNALSYM WNetAddConnectionW}
  321. function WNetAddConnection(lpRemoteName, lpPassword, lpLocalName: LPCTSTR): DWORD; stdcall;
  322. {$EXTERNALSYM WNetAddConnection}
  323. function WNetAddConnection2A(const lpNetResource: NETRESOURCEA; lpPassword: LPCSTR;
  324. lpUserName: LPCSTR; dwFlags: DWORD): DWORD; stdcall;
  325. {$EXTERNALSYM WNetAddConnection2A}
  326. function WNetAddConnection2W(const lpNetResource: NETRESOURCEW; lpPassword: LPCWSTR;
  327. lpUserName: LPCWSTR; dwFlags: DWORD): DWORD; stdcall;
  328. {$EXTERNALSYM WNetAddConnection2W}
  329. function WNetAddConnection2(const lpNetResource: NETRESOURCE; lpPassword: LPCTSTR;
  330. lpUserName: LPCTSTR; dwFlags: DWORD): DWORD; stdcall;
  331. {$EXTERNALSYM WNetAddConnection2}
  332. function WNetAddConnection3A(hwndOwner: HWND; const lpNetResource: NETRESOURCEA;
  333. lpPassword: LPCSTR; lpUserName: LPCSTR; dwFlags: DWORD): DWORD; stdcall;
  334. {$EXTERNALSYM WNetAddConnection3A}
  335. function WNetAddConnection3W(hwndOwner: HWND; const lpNetResource: NETRESOURCEW;
  336. lpPassword: LPCWSTR; lpUserName: LPCWSTR; dwFlags: DWORD): DWORD; stdcall;
  337. {$EXTERNALSYM WNetAddConnection3W}
  338. function WNetAddConnection3(hwndOwner: HWND; const lpNetResource: LPNETRESOURCE;
  339. lpPassword: LPCTSTR; lpUserName: LPCTSTR; dwFlags: DWORD): DWORD; stdcall;
  340. {$EXTERNALSYM WNetAddConnection3}
  341. function WNetCancelConnectionA(lpName: LPCSTR; fForce: BOOL): DWORD; stdcall;
  342. {$EXTERNALSYM WNetCancelConnectionA}
  343. function WNetCancelConnectionW(lpName: LPCWSTR; fForce: BOOL): DWORD; stdcall;
  344. {$EXTERNALSYM WNetCancelConnectionW}
  345. function WNetCancelConnection(lpName: LPCTSTR; fForce: BOOL): DWORD; stdcall;
  346. {$EXTERNALSYM WNetCancelConnection}
  347. function WNetCancelConnection2A(lpName: LPCSTR; dwFlags: DWORD; fForce: BOOL): DWORD; stdcall;
  348. {$EXTERNALSYM WNetCancelConnection2A}
  349. function WNetCancelConnection2W(lpName: LPCWSTR; dwFlags: DWORD; fForce: BOOL): DWORD; stdcall;
  350. {$EXTERNALSYM WNetCancelConnection2W}
  351. function WNetCancelConnection2(lpName: LPCTSTR; dwFlags: DWORD; fForce: BOOL): DWORD; stdcall;
  352. {$EXTERNALSYM WNetCancelConnection2}
  353. function WNetGetConnectionA(lpLocalName, lpRemoteName: LPSTR; var lpnLength: DWORD): DWORD; stdcall;
  354. {$EXTERNALSYM WNetGetConnectionA}
  355. function WNetGetConnectionW(lpLocalName, lpRemoteName: LPWSTR; var lpnLength: DWORD): DWORD; stdcall;
  356. {$EXTERNALSYM WNetGetConnectionW}
  357. function WNetGetConnection(lpLocalName, lpRemoteName: LPTSTR; var lpnLength: DWORD): DWORD; stdcall;
  358. {$EXTERNALSYM WNetGetConnection}
  359. function WNetRestoreConnectionA(hwndParent: HWND; lpDevice: LPCSTR): DWORD; stdcall;
  360. {$EXTERNALSYM WNetRestoreConnectionA}
  361. function WNetRestoreConnectionW(hwndParent: HWND; lpDevice: LPCWSTR): DWORD; stdcall;
  362. {$EXTERNALSYM WNetRestoreConnectionW}
  363. function WNetRestoreConnection(hwndParent: HWND; lpDevice: LPCTSTR): DWORD; stdcall;
  364. {$EXTERNALSYM WNetRestoreConnection}
  365. function WNetUseConnectionA(hwndOwner: HWND; const lpNetResource: NETRESOURCEA;
  366. lpPassword, lpUserID: LPCSTR; dwFlags: DWORD; lpAccessName: LPSTR;
  367. var lpBufferSize, lpResult: DWORD): DWORD; stdcall;
  368. {$EXTERNALSYM WNetUseConnectionA}
  369. function WNetUseConnectionW(hwndOwner: HWND; const lpNetResource: NETRESOURCEW;
  370. lpPassword, lpUserID: LPCWSTR; dwFlags: DWORD; lpAccessName: LPWSTR;
  371. var lpBufferSize, lpResult: DWORD): DWORD; stdcall;
  372. {$EXTERNALSYM WNetUseConnectionW}
  373. function WNetUseConnection(hwndOwner: HWND; const lpNetResource: NETRESOURCE;
  374. lpPassword, lpUserID: LPCTSTR; dwFlags: DWORD; lpAccessName: LPTSTR;
  375. var lpBufferSize, lpResult: DWORD): DWORD; stdcall;
  376. {$EXTERNALSYM WNetUseConnection}
  377. //
  378. // Network Connection Dialogs.
  379. //
  380. function WNetConnectionDialog(hwnd: HWND; dwType: DWORD): DWORD; stdcall;
  381. {$EXTERNALSYM WNetConnectionDialog}
  382. function WNetDisconnectDialog(hwnd: HWND; dwType: DWORD): DWORD; stdcall;
  383. {$EXTERNALSYM WNetDisconnectDialog}
  384. type
  385. LPCONNECTDLGSTRUCTA = ^CONNECTDLGSTRUCTA;
  386. {$EXTERNALSYM LPCONNECTDLGSTRUCTA}
  387. _CONNECTDLGSTRUCTA = record
  388. cbStructure: DWORD; // size of this structure in bytes
  389. hwndOwner: HWND; // owner window for the dialog
  390. lpConnRes: LPNETRESOURCEA; // Requested Resource info
  391. dwFlags: DWORD; // flags (see below)
  392. dwDevNum: DWORD; // number of devices connected to
  393. end;
  394. {$EXTERNALSYM _CONNECTDLGSTRUCTA}
  395. CONNECTDLGSTRUCTA = _CONNECTDLGSTRUCTA;
  396. {$EXTERNALSYM CONNECTDLGSTRUCTA}
  397. TConnectDlgStructA = CONNECTDLGSTRUCTA;
  398. PConnectDlgStructA = LPCONNECTDLGSTRUCTA;
  399. LPCONNECTDLGSTRUCTW = ^CONNECTDLGSTRUCTW;
  400. {$EXTERNALSYM LPCONNECTDLGSTRUCTW}
  401. _CONNECTDLGSTRUCTW = record
  402. cbStructure: DWORD; // size of this structure in bytes
  403. hwndOwner: HWND; // owner window for the dialog
  404. lpConnRes: LPNETRESOURCEW; // Requested Resource info
  405. dwFlags: DWORD; // flags (see below)
  406. dwDevNum: DWORD; // number of devices connected to
  407. end;
  408. {$EXTERNALSYM _CONNECTDLGSTRUCTW}
  409. CONNECTDLGSTRUCTW = _CONNECTDLGSTRUCTW;
  410. {$EXTERNALSYM CONNECTDLGSTRUCTW}
  411. TConnectDlgStructW = CONNECTDLGSTRUCTW;
  412. PConnectDlgStructW = LPCONNECTDLGSTRUCTW;
  413. {$IFDEF UNICODE}
  414. CONNECTDLGSTRUCT = CONNECTDLGSTRUCTW;
  415. {$EXTERNALSYM CONNECTDLGSTRUCT}
  416. LPCONNECTDLGSTRUCT = LPCONNECTDLGSTRUCTW;
  417. {$EXTERNALSYM LPCONNECTDLGSTRUCT}
  418. TConnectDlgStruct = TConnectDlgStructW;
  419. PConnectDlgStruct = PConnectDlgStructW;
  420. {$ELSE}
  421. CONNECTDLGSTRUCT = CONNECTDLGSTRUCTA;
  422. {$EXTERNALSYM CONNECTDLGSTRUCT}
  423. LPCONNECTDLGSTRUCT = LPCONNECTDLGSTRUCTA;
  424. {$EXTERNALSYM LPCONNECTDLGSTRUCT}
  425. TConnectDlgStruct = TConnectDlgStructA;
  426. PConnectDlgStruct = PConnectDlgStructA;
  427. {$ENDIF UNICODE}
  428. const
  429. CONNDLG_RO_PATH = $00000001; // Resource path should be read-only
  430. {$EXTERNALSYM CONNDLG_RO_PATH}
  431. CONNDLG_CONN_POINT = $00000002; // Netware -style movable connection point enabled
  432. {$EXTERNALSYM CONNDLG_CONN_POINT}
  433. CONNDLG_USE_MRU = $00000004; // Use MRU combobox
  434. {$EXTERNALSYM CONNDLG_USE_MRU}
  435. CONNDLG_HIDE_BOX = $00000008; // Hide persistent connect checkbox
  436. {$EXTERNALSYM CONNDLG_HIDE_BOX}
  437. //
  438. // NOTE: Set at most ONE of the below flags. If neither flag is set,
  439. // then the persistence is set to whatever the user chose during
  440. // a previous connection
  441. //
  442. CONNDLG_PERSIST = $00000010; // Force persistent connection
  443. {$EXTERNALSYM CONNDLG_PERSIST}
  444. CONNDLG_NOT_PERSIST = $00000020; // Force connection NOT persistent
  445. {$EXTERNALSYM CONNDLG_NOT_PERSIST}
  446. function WNetConnectionDialog1A(var lpConnDlgStruct: CONNECTDLGSTRUCTA): DWORD; stdcall;
  447. {$EXTERNALSYM WNetConnectionDialog1A}
  448. function WNetConnectionDialog1W(var lpConnDlgStruct: CONNECTDLGSTRUCTW): DWORD; stdcall;
  449. {$EXTERNALSYM WNetConnectionDialog1W}
  450. function WNetConnectionDialog1(var lpConnDlgStruct: CONNECTDLGSTRUCT): DWORD; stdcall;
  451. {$EXTERNALSYM WNetConnectionDialog1}
  452. type
  453. LPDISCDLGSTRUCTA = ^DISCDLGSTRUCTA;
  454. {$EXTERNALSYM LPDISCDLGSTRUCTA}
  455. _DISCDLGSTRUCTA = record
  456. cbStructure: DWORD; // size of this structure in bytes
  457. hwndOwner: HWND; // owner window for the dialog
  458. lpLocalName: LPSTR; // local device name
  459. lpRemoteName: LPSTR; // network resource name
  460. dwFlags: DWORD; // flags
  461. end;
  462. {$EXTERNALSYM _DISCDLGSTRUCTA}
  463. DISCDLGSTRUCTA = _DISCDLGSTRUCTA;
  464. {$EXTERNALSYM DISCDLGSTRUCTA}
  465. TDiscDlgStructA = DISCDLGSTRUCTA;
  466. PDiscDlgStructA = LPDISCDLGSTRUCTA;
  467. LPDISCDLGSTRUCTW = ^DISCDLGSTRUCTW;
  468. {$EXTERNALSYM LPDISCDLGSTRUCTW}
  469. _DISCDLGSTRUCTW = record
  470. cbStructure: DWORD; // size of this structure in bytes
  471. hwndOwner: HWND; // owner window for the dialog
  472. lpLocalName: LPWSTR; // local device name
  473. lpRemoteName: LPWSTR; // network resource name
  474. dwFlags: DWORD; // flags
  475. end;
  476. {$EXTERNALSYM _DISCDLGSTRUCTW}
  477. DISCDLGSTRUCTW = _DISCDLGSTRUCTW;
  478. {$EXTERNALSYM DISCDLGSTRUCTW}
  479. TDiscDlgStructW = DISCDLGSTRUCTW;
  480. PDiscDlgStructW = LPDISCDLGSTRUCTW;
  481. {$IFDEF UNICODE}
  482. DISCDLGSTRUCT = DISCDLGSTRUCTW;
  483. {$EXTERNALSYM DISCDLGSTRUCT}
  484. LPDISCDLGSTRUCT = LPDISCDLGSTRUCTW;
  485. {$EXTERNALSYM LPDISCDLGSTRUCT}
  486. TDiscDlgStruct = TDiscDlgStructW;
  487. PDiscDlgStruct = PDiscDlgStructW;
  488. {$ELSE}
  489. DISCDLGSTRUCT = DISCDLGSTRUCTA;
  490. {$EXTERNALSYM DISCDLGSTRUCT}
  491. LPDISCDLGSTRUCT = LPDISCDLGSTRUCTA;
  492. {$EXTERNALSYM LPDISCDLGSTRUCT}
  493. TDiscDlgStruct = TDiscDlgStructA;
  494. PDiscDlgStruct = PDiscDlgStructA;
  495. {$ENDIF UNICODE}
  496. const
  497. DISC_UPDATE_PROFILE = $00000001;
  498. {$EXTERNALSYM DISC_UPDATE_PROFILE}
  499. DISC_NO_FORCE = $00000040;
  500. {$EXTERNALSYM DISC_NO_FORCE}
  501. function WNetDisconnectDialog1A(const lpConnDlgStruct: DISCDLGSTRUCTA): DWORD; stdcall;
  502. {$EXTERNALSYM WNetDisconnectDialog1A}
  503. function WNetDisconnectDialog1W(const lpConnDlgStruct: DISCDLGSTRUCTW): DWORD; stdcall;
  504. {$EXTERNALSYM WNetDisconnectDialog1W}
  505. function WNetDisconnectDialog1(const lpConnDlgStruct: DISCDLGSTRUCT): DWORD; stdcall;
  506. {$EXTERNALSYM WNetDisconnectDialog1}
  507. //
  508. // Network Browsing.
  509. //
  510. function WNetOpenEnumA(dwScope, dwType, dwUsage: DWORD; lpNetResource: LPNETRESOURCEA;
  511. var lphEnum: HANDLE): DWORD; stdcall;
  512. {$EXTERNALSYM WNetOpenEnumA}
  513. function WNetOpenEnumW(dwScope, dwType, dwUsage: DWORD; lpNetResource: LPNETRESOURCEW;
  514. var lphEnum: HANDLE): DWORD; stdcall;
  515. {$EXTERNALSYM WNetOpenEnumW}
  516. function WNetOpenEnum(dwScope, dwType, dwUsage: DWORD; lpNetResource: LPNETRESOURCE;
  517. var lphEnum: HANDLE): DWORD; stdcall;
  518. {$EXTERNALSYM WNetOpenEnum}
  519. function WNetEnumResourceA(hEnum: HANDLE; var lpcCount: DWORD; lpBuffer: LPVOID;
  520. var lpBufferSize: DWORD): DWORD; stdcall;
  521. {$EXTERNALSYM WNetEnumResourceA}
  522. function WNetEnumResourceW(hEnum: HANDLE; var lpcCount: DWORD; lpBuffer: LPVOID;
  523. var lpBufferSize: DWORD): DWORD; stdcall;
  524. {$EXTERNALSYM WNetEnumResourceW}
  525. function WNetEnumResource(hEnum: HANDLE; var lpcCount: DWORD; lpBuffer: LPVOID;
  526. var lpBufferSize: DWORD): DWORD; stdcall;
  527. {$EXTERNALSYM WNetEnumResource}
  528. function WNetCloseEnum(hEnum: HANDLE): DWORD; stdcall;
  529. {$EXTERNALSYM WNetCloseEnum}
  530. function WNetGetResourceParentA(const lpNetResource: NETRESOURCEA;
  531. lpBuffer: LPVOID; var lpcbBuffer: DWORD): DWORD; stdcall;
  532. {$EXTERNALSYM WNetGetResourceParentA}
  533. function WNetGetResourceParentW(const lpNetResource: NETRESOURCEW;
  534. lpBuffer: LPVOID; var lpcbBuffer: DWORD): DWORD; stdcall;
  535. {$EXTERNALSYM WNetGetResourceParentW}
  536. function WNetGetResourceParent(const lpNetResource: NETRESOURCE;
  537. lpBuffer: LPVOID; var lpcbBuffer: DWORD): DWORD; stdcall;
  538. {$EXTERNALSYM WNetGetResourceParent}
  539. function WNetGetResourceInformationA(const lpNetResource: NETRESOURCEA;
  540. lpBuffer: LPVOID; var lpcbBuffer: DWORD; var lplpSystem: LPSTR): DWORD; stdcall;
  541. {$EXTERNALSYM WNetGetResourceInformationA}
  542. function WNetGetResourceInformationW(const lpNetResource: NETRESOURCEW;
  543. lpBuffer: LPVOID; var lpcbBuffer: DWORD; var lplpSystem: LPWSTR): DWORD; stdcall;
  544. {$EXTERNALSYM WNetGetResourceInformationW}
  545. function WNetGetResourceInformation(const lpNetResource: NETRESOURCE;
  546. lpBuffer: LPVOID; var lpcbBuffer: DWORD; var lplpSystem: LPTSTR): DWORD; stdcall;
  547. {$EXTERNALSYM WNetGetResourceInformation}
  548. //
  549. // Universal Naming.
  550. //
  551. const
  552. UNIVERSAL_NAME_INFO_LEVEL = $00000001;
  553. {$EXTERNALSYM UNIVERSAL_NAME_INFO_LEVEL}
  554. REMOTE_NAME_INFO_LEVEL = $00000002;
  555. {$EXTERNALSYM REMOTE_NAME_INFO_LEVEL}
  556. type
  557. LPUNIVERSAL_NAME_INFOA = ^UNIVERSAL_NAME_INFOA;
  558. {$EXTERNALSYM LPUNIVERSAL_NAME_INFOA}
  559. _UNIVERSAL_NAME_INFOA = record
  560. lpUniversalName: LPSTR;
  561. end;
  562. {$EXTERNALSYM _UNIVERSAL_NAME_INFOA}
  563. UNIVERSAL_NAME_INFOA = _UNIVERSAL_NAME_INFOA;
  564. {$EXTERNALSYM UNIVERSAL_NAME_INFOA}
  565. TUniversalNameInfoA = UNIVERSAL_NAME_INFOA;
  566. PUniversalNameInfoA = LPUNIVERSAL_NAME_INFOA;
  567. LPUNIVERSAL_NAME_INFOW = ^UNIVERSAL_NAME_INFOW;
  568. {$EXTERNALSYM LPUNIVERSAL_NAME_INFOW}
  569. _UNIVERSAL_NAME_INFOW = record
  570. lpUniversalName: LPWSTR;
  571. end;
  572. {$EXTERNALSYM _UNIVERSAL_NAME_INFOW}
  573. UNIVERSAL_NAME_INFOW = _UNIVERSAL_NAME_INFOW;
  574. {$EXTERNALSYM UNIVERSAL_NAME_INFOW}
  575. TUniversalNameInfoW = UNIVERSAL_NAME_INFOW;
  576. PUniversalNameInfoW = LPUNIVERSAL_NAME_INFOW;
  577. {$IFDEF UNICODE}
  578. UNIVERSAL_NAME_INFO = UNIVERSAL_NAME_INFOW;
  579. {$EXTERNALSYM UNIVERSAL_NAME_INFO}
  580. LPUNIVERSAL_NAME_INFO = LPUNIVERSAL_NAME_INFOW;
  581. {$EXTERNALSYM LPUNIVERSAL_NAME_INFO}
  582. TUniversalNameInfo = TUniversalNameInfoW;
  583. PUniversalNameInfo = PUniversalNameInfoW;
  584. {$ELSE}
  585. UNIVERSAL_NAME_INFO = UNIVERSAL_NAME_INFOA;
  586. {$EXTERNALSYM UNIVERSAL_NAME_INFO}
  587. LPUNIVERSAL_NAME_INFO = LPUNIVERSAL_NAME_INFOA;
  588. {$EXTERNALSYM LPUNIVERSAL_NAME_INFO}
  589. TUniversalNameInfo = TUniversalNameInfoA;
  590. PUniversalNameInfo = PUniversalNameInfoA;
  591. {$ENDIF UNICODE}
  592. LPREMOTE_NAME_INFOA = ^REMOTE_NAME_INFOA;
  593. {$EXTERNALSYM LPREMOTE_NAME_INFOA}
  594. _REMOTE_NAME_INFOA = record
  595. lpUniversalName: LPSTR;
  596. lpConnectionName: LPSTR;
  597. lpRemainingPath: LPSTR;
  598. end;
  599. {$EXTERNALSYM _REMOTE_NAME_INFOA}
  600. REMOTE_NAME_INFOA = _REMOTE_NAME_INFOA;
  601. {$EXTERNALSYM REMOTE_NAME_INFOA}
  602. TRemoteNameInfoA = REMOTE_NAME_INFOA;
  603. PRemoteNameInfoA = LPREMOTE_NAME_INFOA;
  604. LPREMOTE_NAME_INFOW = ^REMOTE_NAME_INFOW;
  605. {$EXTERNALSYM LPREMOTE_NAME_INFOW}
  606. _REMOTE_NAME_INFOW = record
  607. lpUniversalName: LPWSTR;
  608. lpConnectionName: LPWSTR;
  609. lpRemainingPath: LPWSTR;
  610. end;
  611. {$EXTERNALSYM _REMOTE_NAME_INFOW}
  612. REMOTE_NAME_INFOW = _REMOTE_NAME_INFOW;
  613. {$EXTERNALSYM REMOTE_NAME_INFOW}
  614. TRemoteNameInfoW = REMOTE_NAME_INFOW;
  615. PRemoteNameInfoW = LPREMOTE_NAME_INFOW;
  616. {$IFDEF UNICODE}
  617. REMOTE_NAME_INFO = REMOTE_NAME_INFOW;
  618. {$EXTERNALSYM REMOTE_NAME_INFO}
  619. LPREMOTE_NAME_INFO = LPREMOTE_NAME_INFOW;
  620. {$EXTERNALSYM LPREMOTE_NAME_INFO}
  621. TRemoteNameInfo = TRemoteNameInfoW;
  622. PRemoteNameInfo = PRemoteNameInfoW;
  623. {$ELSE}
  624. REMOTE_NAME_INFO = REMOTE_NAME_INFOA;
  625. {$EXTERNALSYM REMOTE_NAME_INFO}
  626. LPREMOTE_NAME_INFO = LPREMOTE_NAME_INFOA;
  627. {$EXTERNALSYM LPREMOTE_NAME_INFO}
  628. TRemoteNameInfo = TRemoteNameInfoA;
  629. PRemoteNameInfo = PRemoteNameInfoA;
  630. {$ENDIF UNICODE}
  631. function WNetGetUniversalNameA(lpLocalPath: LPCSTR; dwInfoLevel: DWORD;
  632. lpBuffer: LPVOID; var lpBufferSize: DWORD): DWORD; stdcall;
  633. {$EXTERNALSYM WNetGetUniversalNameA}
  634. function WNetGetUniversalNameW(lpLocalPath: LPCWSTR; dwInfoLevel: DWORD;
  635. lpBuffer: LPVOID; var lpBufferSize: DWORD): DWORD; stdcall;
  636. {$EXTERNALSYM WNetGetUniversalNameW}
  637. function WNetGetUniversalName(lpLocalPath: LPCTSTR; dwInfoLevel: DWORD;
  638. lpBuffer: LPVOID; var lpBufferSize: DWORD): DWORD; stdcall;
  639. {$EXTERNALSYM WNetGetUniversalName}
  640. //
  641. // Authentication and Logon/Logoff.
  642. //
  643. function WNetGetUserA(lpName: LPCSTR; lpUserName: LPSTR; var lpnLength: DWORD): DWORD; stdcall;
  644. {$EXTERNALSYM WNetGetUserA}
  645. function WNetGetUserW(lpName: LPCWSTR; lpUserName: LPWSTR; var lpnLength: DWORD): DWORD; stdcall;
  646. {$EXTERNALSYM WNetGetUserW}
  647. function WNetGetUser(lpName: LPCTSTR; lpUserName: LPTSTR; var lpnLength: DWORD): DWORD; stdcall;
  648. {$EXTERNALSYM WNetGetUser}
  649. //
  650. // Other.
  651. //
  652. const
  653. WNFMT_MULTILINE = $01;
  654. {$EXTERNALSYM WNFMT_MULTILINE}
  655. WNFMT_ABBREVIATED = $02;
  656. {$EXTERNALSYM WNFMT_ABBREVIATED}
  657. WNFMT_INENUM = $10;
  658. {$EXTERNALSYM WNFMT_INENUM}
  659. WNFMT_CONNECTION = $20;
  660. {$EXTERNALSYM WNFMT_CONNECTION}
  661. function WNetGetProviderNameA(dwNetType: DWORD; lpProviderName: LPSTR;
  662. var lpBufferSize: DWORD): DWORD; stdcall;
  663. {$EXTERNALSYM WNetGetProviderNameA}
  664. function WNetGetProviderNameW(dwNetType: DWORD; lpProviderName: LPWSTR;
  665. var lpBufferSize: DWORD): DWORD; stdcall;
  666. {$EXTERNALSYM WNetGetProviderNameW}
  667. function WNetGetProviderName(dwNetType: DWORD; lpProviderName: LPTSTR;
  668. var lpBufferSize: DWORD): DWORD; stdcall;
  669. {$EXTERNALSYM WNetGetProviderName}
  670. type
  671. LPNETINFOSTRUCT = ^NETINFOSTRUCT;
  672. {$EXTERNALSYM LPNETINFOSTRUCT}
  673. _NETINFOSTRUCT = record
  674. cbStructure: DWORD;
  675. dwProviderVersion: DWORD;
  676. dwStatus: DWORD;
  677. dwCharacteristics: DWORD;
  678. dwHandle: ULONG_PTR;
  679. wNetType: WORD;
  680. dwPrinters: DWORD;
  681. dwDrives: DWORD;
  682. end;
  683. {$EXTERNALSYM _NETINFOSTRUCT}
  684. NETINFOSTRUCT = _NETINFOSTRUCT;
  685. {$EXTERNALSYM NETINFOSTRUCT}
  686. TNetInfoStruct = NETINFOSTRUCT;
  687. PNetInfoStruct = LPNETINFOSTRUCT;
  688. const
  689. NETINFO_DLL16 = $00000001; // Provider running as 16 bit Winnet Driver
  690. {$EXTERNALSYM NETINFO_DLL16}
  691. NETINFO_DISKRED = $00000004; // Provider requires disk redirections to connect
  692. {$EXTERNALSYM NETINFO_DISKRED}
  693. NETINFO_PRINTERRED = $00000008; // Provider requires printer redirections to connect
  694. {$EXTERNALSYM NETINFO_PRINTERRED}
  695. function WNetGetNetworkInformationA(lpProvider: LPCSTR;
  696. var lpNetInfoStruct: NETINFOSTRUCT): DWORD; stdcall;
  697. {$EXTERNALSYM WNetGetNetworkInformationA}
  698. function WNetGetNetworkInformationW(lpProvider: LPCWSTR;
  699. var lpNetInfoStruct: NETINFOSTRUCT): DWORD; stdcall;
  700. {$EXTERNALSYM WNetGetNetworkInformationW}
  701. function WNetGetNetworkInformation(lpProvider: LPCTSTR;
  702. var lpNetInfoStruct: NETINFOSTRUCT): DWORD; stdcall;
  703. {$EXTERNALSYM WNetGetNetworkInformation}
  704. //
  705. // User Profiles.
  706. //
  707. type
  708. PFNGETPROFILEPATHA = function(pszUsername: LPCSTR; pszBuffer: LPSTR;
  709. cbBuffer: UINT): UINT; stdcall;
  710. {$EXTERNALSYM PFNGETPROFILEPATHA}
  711. PFNGETPROFILEPATHW = function(pszUsername: LPCWSTR; pszBuffer: LPWSTR;
  712. cbBuffer: UINT): UINT; stdcall;
  713. {$EXTERNALSYM PFNGETPROFILEPATHW}
  714. {$IFDEF UNICODE}
  715. PFNGETPROFILEPATH = PFNGETPROFILEPATHW;
  716. {$EXTERNALSYM PFNGETPROFILEPATH}
  717. {$ELSE}
  718. PFNGETPROFILEPATH = PFNGETPROFILEPATHA;
  719. {$EXTERNALSYM PFNGETPROFILEPATH}
  720. {$ENDIF UNICODE}
  721. PFNRECONCILEPROFILEA = function(pszCentralFile, pszLocalFile: LPCSTR;
  722. dwFlags: DWORD): UINT; stdcall;
  723. {$EXTERNALSYM PFNRECONCILEPROFILEA}
  724. PFNRECONCILEPROFILEW = function(pszCentralFile, pszLocalFile: LPCWSTR;
  725. dwFlags: DWORD): UINT; stdcall;
  726. {$EXTERNALSYM PFNRECONCILEPROFILEW}
  727. PFNRECONCILEPROFILE = function(pszCentralFile, pszLocalFile: LPCTSTR;
  728. dwFlags: DWORD): UINT; stdcall;
  729. {$EXTERNALSYM PFNRECONCILEPROFILE}
  730. const
  731. RP_LOGON = $01; // if set, do for logon, else for logoff
  732. {$EXTERNALSYM RP_LOGON}
  733. RP_INIFILE = $02; // if set, reconcile .INI file, else reg. hive
  734. {$EXTERNALSYM RP_INIFILE}
  735. //
  736. // Policies.
  737. //
  738. type
  739. PFNPROCESSPOLICIESA = function(hwnd: HWND; pszPath, pszUsername,
  740. pszComputerName: LPCSTR; dwFlags: DWORD): BOOL; stdcall;
  741. {$EXTERNALSYM PFNPROCESSPOLICIESA}
  742. PFNPROCESSPOLICIESW = function(hwnd: HWND; pszPath, pszUsername,
  743. pszComputerName: LPCWSTR; dwFlags: DWORD): BOOL; stdcall;
  744. {$EXTERNALSYM PFNPROCESSPOLICIESW}
  745. PFNPROCESSPOLICIES = function(hwnd: HWND; pszPath, pszUsername,
  746. pszComputerName: LPCTSTR; dwFlags: DWORD): BOOL; stdcall;
  747. {$EXTERNALSYM PFNPROCESSPOLICIES}
  748. const
  749. PP_DISPLAYERRORS = $01; // if set, display error messages, else fail silently if error
  750. {$EXTERNALSYM PP_DISPLAYERRORS}
  751. //
  752. // Error handling.
  753. //
  754. function WNetGetLastErrorA(var lpError: DWORD; lpErrorBuf: LPSTR;
  755. nErrorBufSize: DWORD; lpNameBuf: LPSTR; nNameBufSize: DWORD): DWORD; stdcall;
  756. {$EXTERNALSYM WNetGetLastErrorA}
  757. function WNetGetLastErrorW(var lpError: DWORD; lpErrorBuf: LPWSTR;
  758. nErrorBufSize: DWORD; lpNameBuf: LPWSTR; nNameBufSize: DWORD): DWORD; stdcall;
  759. {$EXTERNALSYM WNetGetLastErrorW}
  760. function WNetGetLastError(var lpError: DWORD; lpErrorBuf: LPTSTR;
  761. nErrorBufSize: DWORD; lpNameBuf: LPTSTR; nNameBufSize: DWORD): DWORD; stdcall;
  762. {$EXTERNALSYM WNetGetLastError}
  763. //
  764. // STATUS CODES
  765. //
  766. // General
  767. const
  768. WN_SUCCESS = NO_ERROR;
  769. {$EXTERNALSYM WN_SUCCESS}
  770. WN_NO_ERROR = NO_ERROR;
  771. {$EXTERNALSYM WN_NO_ERROR}
  772. WN_NOT_SUPPORTED = ERROR_NOT_SUPPORTED;
  773. {$EXTERNALSYM WN_NOT_SUPPORTED}
  774. WN_CANCEL = ERROR_CANCELLED;
  775. {$EXTERNALSYM WN_CANCEL}
  776. WN_RETRY = ERROR_RETRY;
  777. {$EXTERNALSYM WN_RETRY}
  778. WN_NET_ERROR = ERROR_UNEXP_NET_ERR;
  779. {$EXTERNALSYM WN_NET_ERROR}
  780. WN_MORE_DATA = ERROR_MORE_DATA;
  781. {$EXTERNALSYM WN_MORE_DATA}
  782. WN_BAD_POINTER = ERROR_INVALID_ADDRESS;
  783. {$EXTERNALSYM WN_BAD_POINTER}
  784. WN_BAD_VALUE = ERROR_INVALID_PARAMETER;
  785. {$EXTERNALSYM WN_BAD_VALUE}
  786. WN_BAD_USER = ERROR_BAD_USERNAME;
  787. {$EXTERNALSYM WN_BAD_USER}
  788. WN_BAD_PASSWORD = ERROR_INVALID_PASSWORD;
  789. {$EXTERNALSYM WN_BAD_PASSWORD}
  790. WN_ACCESS_DENIED = ERROR_ACCESS_DENIED;
  791. {$EXTERNALSYM WN_ACCESS_DENIED}
  792. WN_FUNCTION_BUSY = ERROR_BUSY;
  793. {$EXTERNALSYM WN_FUNCTION_BUSY}
  794. WN_WINDOWS_ERROR = ERROR_UNEXP_NET_ERR;
  795. {$EXTERNALSYM WN_WINDOWS_ERROR}
  796. WN_OUT_OF_MEMORY = ERROR_NOT_ENOUGH_MEMORY;
  797. {$EXTERNALSYM WN_OUT_OF_MEMORY}
  798. WN_NO_NETWORK = ERROR_NO_NETWORK;
  799. {$EXTERNALSYM WN_NO_NETWORK}
  800. WN_EXTENDED_ERROR = ERROR_EXTENDED_ERROR;
  801. {$EXTERNALSYM WN_EXTENDED_ERROR}
  802. WN_BAD_LEVEL = ERROR_INVALID_LEVEL;
  803. {$EXTERNALSYM WN_BAD_LEVEL}
  804. WN_BAD_HANDLE = ERROR_INVALID_HANDLE;
  805. {$EXTERNALSYM WN_BAD_HANDLE}
  806. WN_NOT_INITIALIZING = ERROR_ALREADY_INITIALIZED;
  807. {$EXTERNALSYM WN_NOT_INITIALIZING}
  808. WN_NO_MORE_DEVICES = ERROR_NO_MORE_DEVICES;
  809. {$EXTERNALSYM WN_NO_MORE_DEVICES}
  810. // Connection
  811. WN_NOT_CONNECTED = ERROR_NOT_CONNECTED;
  812. {$EXTERNALSYM WN_NOT_CONNECTED}
  813. WN_OPEN_FILES = ERROR_OPEN_FILES;
  814. {$EXTERNALSYM WN_OPEN_FILES}
  815. WN_DEVICE_IN_USE = ERROR_DEVICE_IN_USE;
  816. {$EXTERNALSYM WN_DEVICE_IN_USE}
  817. WN_BAD_NETNAME = ERROR_BAD_NET_NAME;
  818. {$EXTERNALSYM WN_BAD_NETNAME}
  819. WN_BAD_LOCALNAME = ERROR_BAD_DEVICE;
  820. {$EXTERNALSYM WN_BAD_LOCALNAME}
  821. WN_ALREADY_CONNECTED = ERROR_ALREADY_ASSIGNED;
  822. {$EXTERNALSYM WN_ALREADY_CONNECTED}
  823. WN_DEVICE_ERROR = ERROR_GEN_FAILURE;
  824. {$EXTERNALSYM WN_DEVICE_ERROR}
  825. WN_CONNECTION_CLOSED = ERROR_CONNECTION_UNAVAIL;
  826. {$EXTERNALSYM WN_CONNECTION_CLOSED}
  827. WN_NO_NET_OR_BAD_PATH = ERROR_NO_NET_OR_BAD_PATH;
  828. {$EXTERNALSYM WN_NO_NET_OR_BAD_PATH}
  829. WN_BAD_PROVIDER = ERROR_BAD_PROVIDER;
  830. {$EXTERNALSYM WN_BAD_PROVIDER}
  831. WN_CANNOT_OPEN_PROFILE = ERROR_CANNOT_OPEN_PROFILE;
  832. {$EXTERNALSYM WN_CANNOT_OPEN_PROFILE}
  833. WN_BAD_PROFILE = ERROR_BAD_PROFILE;
  834. {$EXTERNALSYM WN_BAD_PROFILE}
  835. WN_BAD_DEV_TYPE = ERROR_BAD_DEV_TYPE;
  836. {$EXTERNALSYM WN_BAD_DEV_TYPE}
  837. WN_DEVICE_ALREADY_REMEMBERED = ERROR_DEVICE_ALREADY_REMEMBERED;
  838. {$EXTERNALSYM WN_DEVICE_ALREADY_REMEMBERED}
  839. WN_CONNECTED_OTHER_PASSWORD = ERROR_CONNECTED_OTHER_PASSWORD;
  840. {$EXTERNALSYM WN_CONNECTED_OTHER_PASSWORD}
  841. WN_CONNECTED_OTHER_PASSWORD_DEFAULT = ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT;
  842. {$EXTERNALSYM WN_CONNECTED_OTHER_PASSWORD_DEFAULT}
  843. // Enumeration
  844. WN_NO_MORE_ENTRIES = ERROR_NO_MORE_ITEMS;
  845. {$EXTERNALSYM WN_NO_MORE_ENTRIES}
  846. WN_NOT_CONTAINER = ERROR_NOT_CONTAINER;
  847. {$EXTERNALSYM WN_NOT_CONTAINER}
  848. // Authentication
  849. WN_NOT_AUTHENTICATED = ERROR_NOT_AUTHENTICATED;
  850. {$EXTERNALSYM WN_NOT_AUTHENTICATED}
  851. WN_NOT_LOGGED_ON = ERROR_NOT_LOGGED_ON;
  852. {$EXTERNALSYM WN_NOT_LOGGED_ON}
  853. WN_NOT_VALIDATED = ERROR_NO_LOGON_SERVERS;
  854. {$EXTERNALSYM WN_NOT_VALIDATED}
  855. //
  856. // For Shell
  857. //
  858. type
  859. LPNETCONNECTINFOSTRUCT = ^NETCONNECTINFOSTRUCT;
  860. {$EXTERNALSYM LPNETCONNECTINFOSTRUCT}
  861. _NETCONNECTINFOSTRUCT = record
  862. cbStructure: DWORD;
  863. dwFlags: DWORD;
  864. dwSpeed: DWORD;
  865. dwDelay: DWORD;
  866. dwOptDataSize: DWORD;
  867. end;
  868. {$EXTERNALSYM _NETCONNECTINFOSTRUCT}
  869. NETCONNECTINFOSTRUCT = _NETCONNECTINFOSTRUCT;
  870. {$EXTERNALSYM NETCONNECTINFOSTRUCT}
  871. TNetConnectInfoStruct = NETCONNECTINFOSTRUCT;
  872. PNetConnectInfoStruct = LPNETCONNECTINFOSTRUCT;
  873. const
  874. WNCON_FORNETCARD = $00000001;
  875. {$EXTERNALSYM WNCON_FORNETCARD}
  876. WNCON_NOTROUTED = $00000002;
  877. {$EXTERNALSYM WNCON_NOTROUTED}
  878. WNCON_SLOWLINK = $00000004;
  879. {$EXTERNALSYM WNCON_SLOWLINK}
  880. WNCON_DYNAMIC = $00000008;
  881. {$EXTERNALSYM WNCON_DYNAMIC}
  882. function MultinetGetConnectionPerformanceA(const lpNetResource: NETRESOURCEA;
  883. var lpNetConnectInfoStruct: NETCONNECTINFOSTRUCT): DWORD; stdcall;
  884. {$EXTERNALSYM MultinetGetConnectionPerformanceA}
  885. function MultinetGetConnectionPerformanceW(const lpNetResource: NETRESOURCEW;
  886. var lpNetConnectInfoStruct: NETCONNECTINFOSTRUCT): DWORD; stdcall;
  887. {$EXTERNALSYM MultinetGetConnectionPerformanceW}
  888. function MultinetGetConnectionPerformance(const lpNetResource: NETRESOURCE;
  889. var lpNetConnectInfoStruct: NETCONNECTINFOSTRUCT): DWORD; stdcall;
  890. {$EXTERNALSYM MultinetGetConnectionPerformance}
  891. {$ENDIF JWA_INTERFACESECTION}
  892. {$IFNDEF JWA_INCLUDEMODE}
  893. implementation
  894. uses
  895. JwaWinDLLNames;
  896. {$ENDIF !JWA_INCLUDEMODE}
  897. {$IFDEF JWA_IMPLEMENTATIONSECTION}
  898. {$IFDEF DYNAMIC_LINK}
  899. var
  900. _WNetAddConnectionA: Pointer;
  901. function WNetAddConnectionA;
  902. begin
  903. GetProcedureAddress(_WNetAddConnectionA, mprlib, 'WNetAddConnectionA');
  904. asm
  905. MOV ESP, EBP
  906. POP EBP
  907. JMP [_WNetAddConnectionA]
  908. end;
  909. end;
  910. var
  911. _WNetAddConnectionW: Pointer;
  912. function WNetAddConnectionW;
  913. begin
  914. GetProcedureAddress(_WNetAddConnectionW, mprlib, 'WNetAddConnectionW');
  915. asm
  916. MOV ESP, EBP
  917. POP EBP
  918. JMP [_WNetAddConnectionW]
  919. end;
  920. end;
  921. var
  922. _WNetAddConnection: Pointer;
  923. function WNetAddConnection;
  924. begin
  925. GetProcedureAddress(_WNetAddConnection, mprlib, 'WNetAddConnection' + AWSuffix);
  926. asm
  927. MOV ESP, EBP
  928. POP EBP
  929. JMP [_WNetAddConnection]
  930. end;
  931. end;
  932. var
  933. _WNetAddConnection2A: Pointer;
  934. function WNetAddConnection2A;
  935. begin
  936. GetProcedureAddress(_WNetAddConnection2A, mprlib, 'WNetAddConnection2A');
  937. asm
  938. MOV ESP, EBP
  939. POP EBP
  940. JMP [_WNetAddConnection2A]
  941. end;
  942. end;
  943. var
  944. _WNetAddConnection2W: Pointer;
  945. function WNetAddConnection2W;
  946. begin
  947. GetProcedureAddress(_WNetAddConnection2W, mprlib, 'WNetAddConnection2W');
  948. asm
  949. MOV ESP, EBP
  950. POP EBP
  951. JMP [_WNetAddConnection2W]
  952. end;
  953. end;
  954. var
  955. _WNetAddConnection2: Pointer;
  956. function WNetAddConnection2;
  957. begin
  958. GetProcedureAddress(_WNetAddConnection2, mprlib, 'WNetAddConnection2' + AWSuffix);
  959. asm
  960. MOV ESP, EBP
  961. POP EBP
  962. JMP [_WNetAddConnection2]
  963. end;
  964. end;
  965. var
  966. _WNetAddConnection3A: Pointer;
  967. function WNetAddConnection3A;
  968. begin
  969. GetProcedureAddress(_WNetAddConnection3A, mprlib, 'WNetAddConnection3A');
  970. asm
  971. MOV ESP, EBP
  972. POP EBP
  973. JMP [_WNetAddConnection3A]
  974. end;
  975. end;
  976. var
  977. _WNetAddConnection3W: Pointer;
  978. function WNetAddConnection3W;
  979. begin
  980. GetProcedureAddress(_WNetAddConnection3W, mprlib, 'WNetAddConnection3W');
  981. asm
  982. MOV ESP, EBP
  983. POP EBP
  984. JMP [_WNetAddConnection3W]
  985. end;
  986. end;
  987. var
  988. _WNetAddConnection3: Pointer;
  989. function WNetAddConnection3;
  990. begin
  991. GetProcedureAddress(_WNetAddConnection3, mprlib, 'WNetAddConnection3' + AWSuffix);
  992. asm
  993. MOV ESP, EBP
  994. POP EBP
  995. JMP [_WNetAddConnection3]
  996. end;
  997. end;
  998. var
  999. _WNetCancelConnectionA: Pointer;
  1000. function WNetCancelConnectionA;
  1001. begin
  1002. GetProcedureAddress(_WNetCancelConnectionA, mprlib, 'WNetCancelConnectionA');
  1003. asm
  1004. MOV ESP, EBP
  1005. POP EBP
  1006. JMP [_WNetCancelConnectionA]
  1007. end;
  1008. end;
  1009. var
  1010. _WNetCancelConnectionW: Pointer;
  1011. function WNetCancelConnectionW;
  1012. begin
  1013. GetProcedureAddress(_WNetCancelConnectionW, mprlib, 'WNetCancelConnectionW');
  1014. asm
  1015. MOV ESP, EBP
  1016. POP EBP
  1017. JMP [_WNetCancelConnectionW]
  1018. end;
  1019. end;
  1020. var
  1021. _WNetCancelConnection: Pointer;
  1022. function WNetCancelConnection;
  1023. begin
  1024. GetProcedureAddress(_WNetCancelConnection, mprlib, 'WNetCancelConnection' + AWSuffix);
  1025. asm
  1026. MOV ESP, EBP
  1027. POP EBP
  1028. JMP [_WNetCancelConnection]
  1029. end;
  1030. end;
  1031. var
  1032. _WNetCancelConnection2A: Pointer;
  1033. function WNetCancelConnection2A;
  1034. begin
  1035. GetProcedureAddress(_WNetCancelConnection2A, mprlib, 'WNetCancelConnection2A');
  1036. asm
  1037. MOV ESP, EBP
  1038. POP EBP
  1039. JMP [_WNetCancelConnection2A]
  1040. end;
  1041. end;
  1042. var
  1043. _WNetCancelConnection2W: Pointer;
  1044. function WNetCancelConnection2W;
  1045. begin
  1046. GetProcedureAddress(_WNetCancelConnection2W, mprlib, 'WNetCancelConnection2W');
  1047. asm
  1048. MOV ESP, EBP
  1049. POP EBP
  1050. JMP [_WNetCancelConnection2W]
  1051. end;
  1052. end;
  1053. var
  1054. _WNetCancelConnection2: Pointer;
  1055. function WNetCancelConnection2;
  1056. begin
  1057. GetProcedureAddress(_WNetCancelConnection2, mprlib, 'WNetCancelConnection2' + AWSuffix);
  1058. asm
  1059. MOV ESP, EBP
  1060. POP EBP
  1061. JMP [_WNetCancelConnection2]
  1062. end;
  1063. end;
  1064. var
  1065. _WNetGetConnectionA: Pointer;
  1066. function WNetGetConnectionA;
  1067. begin
  1068. GetProcedureAddress(_WNetGetConnectionA, mprlib, 'WNetGetConnectionA');
  1069. asm
  1070. MOV ESP, EBP
  1071. POP EBP
  1072. JMP [_WNetGetConnectionA]
  1073. end;
  1074. end;
  1075. var
  1076. _WNetGetConnectionW: Pointer;
  1077. function WNetGetConnectionW;
  1078. begin
  1079. GetProcedureAddress(_WNetGetConnectionW, mprlib, 'WNetGetConnectionW');
  1080. asm
  1081. MOV ESP, EBP
  1082. POP EBP
  1083. JMP [_WNetGetConnectionW]
  1084. end;
  1085. end;
  1086. var
  1087. _WNetGetConnection: Pointer;
  1088. function WNetGetConnection;
  1089. begin
  1090. GetProcedureAddress(_WNetGetConnection, mprlib, 'WNetGetConnection' + AWSuffix);
  1091. asm
  1092. MOV ESP, EBP
  1093. POP EBP
  1094. JMP [_WNetGetConnection]
  1095. end;
  1096. end;
  1097. var
  1098. _WNetRestoreConnectionA: Pointer;
  1099. function WNetRestoreConnectionA;
  1100. begin
  1101. GetProcedureAddress(_WNetRestoreConnectionA, mprlib, 'WNetRestoreConnectionA');
  1102. asm
  1103. MOV ESP, EBP
  1104. POP EBP
  1105. JMP [_WNetRestoreConnectionA]
  1106. end;
  1107. end;
  1108. var
  1109. _WNetRestoreConnectionW: Pointer;
  1110. function WNetRestoreConnectionW;
  1111. begin
  1112. GetProcedureAddress(_WNetRestoreConnectionW, mprlib, 'WNetRestoreConnectionW');
  1113. asm
  1114. MOV ESP, EBP
  1115. POP EBP
  1116. JMP [_WNetRestoreConnectionW]
  1117. end;
  1118. end;
  1119. var
  1120. _WNetRestoreConnection: Pointer;
  1121. function WNetRestoreConnection;
  1122. begin
  1123. GetProcedureAddress(_WNetRestoreConnection, mprlib, 'WNetRestoreConnection' + AWSuffix);
  1124. asm
  1125. MOV ESP, EBP
  1126. POP EBP
  1127. JMP [_WNetRestoreConnection]
  1128. end;
  1129. end;
  1130. var
  1131. _WNetUseConnectionA: Pointer;
  1132. function WNetUseConnectionA;
  1133. begin
  1134. GetProcedureAddress(_WNetUseConnectionA, mprlib, 'WNetUseConnectionA');
  1135. asm
  1136. MOV ESP, EBP
  1137. POP EBP
  1138. JMP [_WNetUseConnectionA]
  1139. end;
  1140. end;
  1141. var
  1142. _WNetUseConnectionW: Pointer;
  1143. function WNetUseConnectionW;
  1144. begin
  1145. GetProcedureAddress(_WNetUseConnectionW, mprlib, 'WNetUseConnectionW');
  1146. asm
  1147. MOV ESP, EBP
  1148. POP EBP
  1149. JMP [_WNetUseConnectionW]
  1150. end;
  1151. end;
  1152. var
  1153. _WNetUseConnection: Pointer;
  1154. function WNetUseConnection;
  1155. begin
  1156. GetProcedureAddress(_WNetUseConnection, mprlib, 'WNetUseConnection' + AWSuffix);
  1157. asm
  1158. MOV ESP, EBP
  1159. POP EBP
  1160. JMP [_WNetUseConnection]
  1161. end;
  1162. end;
  1163. var
  1164. _WNetConnectionDialog: Pointer;
  1165. function WNetConnectionDialog;
  1166. begin
  1167. GetProcedureAddress(_WNetConnectionDialog, mprlib, 'WNetConnectionDialog');
  1168. asm
  1169. MOV ESP, EBP
  1170. POP EBP
  1171. JMP [_WNetConnectionDialog]
  1172. end;
  1173. end;
  1174. var
  1175. _WNetDisconnectDialog: Pointer;
  1176. function WNetDisconnectDialog;
  1177. begin
  1178. GetProcedureAddress(_WNetDisconnectDialog, mprlib, 'WNetDisconnectDialog');
  1179. asm
  1180. MOV ESP, EBP
  1181. POP EBP
  1182. JMP [_WNetDisconnectDialog]
  1183. end;
  1184. end;
  1185. var
  1186. _WNetConnectionDialog1A: Pointer;
  1187. function WNetConnectionDialog1A;
  1188. begin
  1189. GetProcedureAddress(_WNetConnectionDialog1A, mprlib, 'WNetConnectionDialog1A');
  1190. asm
  1191. MOV ESP, EBP
  1192. POP EBP
  1193. JMP [_WNetConnectionDialog1A]
  1194. end;
  1195. end;
  1196. var
  1197. _WNetConnectionDialog1W: Pointer;
  1198. function WNetConnectionDialog1W;
  1199. begin
  1200. GetProcedureAddress(_WNetConnectionDialog1W, mprlib, 'WNetConnectionDialog1W');
  1201. asm
  1202. MOV ESP, EBP
  1203. POP EBP
  1204. JMP [_WNetConnectionDialog1W]
  1205. end;
  1206. end;
  1207. var
  1208. _WNetConnectionDialog1: Pointer;
  1209. function WNetConnectionDialog1;
  1210. begin
  1211. GetProcedureAddress(_WNetConnectionDialog1, mprlib, 'WNetConnectionDialog1' + AWSuffix);
  1212. asm
  1213. MOV ESP, EBP
  1214. POP EBP
  1215. JMP [_WNetConnectionDialog1]
  1216. end;
  1217. end;
  1218. var
  1219. _WNetDisconnectDialog1A: Pointer;
  1220. function WNetDisconnectDialog1A;
  1221. begin
  1222. GetProcedureAddress(_WNetDisconnectDialog1A, mprlib, 'WNetDisconnectDialog1A');
  1223. asm
  1224. MOV ESP, EBP
  1225. POP EBP
  1226. JMP [_WNetDisconnectDialog1A]
  1227. end;
  1228. end;
  1229. var
  1230. _WNetDisconnectDialog1W: Pointer;
  1231. function WNetDisconnectDialog1W;
  1232. begin
  1233. GetProcedureAddress(_WNetDisconnectDialog1W, mprlib, 'WNetDisconnectDialog1W');
  1234. asm
  1235. MOV ESP, EBP
  1236. POP EBP
  1237. JMP [_WNetDisconnectDialog1W]
  1238. end;
  1239. end;
  1240. var
  1241. _WNetDisconnectDialog1: Pointer;
  1242. function WNetDisconnectDialog1;
  1243. begin
  1244. GetProcedureAddress(_WNetDisconnectDialog1, mprlib, 'WNetDisconnectDialog1' + AWSuffix);
  1245. asm
  1246. MOV ESP, EBP
  1247. POP EBP
  1248. JMP [_WNetDisconnectDialog1]
  1249. end;
  1250. end;
  1251. var
  1252. _WNetOpenEnumA: Pointer;
  1253. function WNetOpenEnumA;
  1254. begin
  1255. GetProcedureAddress(_WNetOpenEnumA, mprlib, 'WNetOpenEnumA');
  1256. asm
  1257. MOV ESP, EBP
  1258. POP EBP
  1259. JMP [_WNetOpenEnumA]
  1260. end;
  1261. end;
  1262. var
  1263. _WNetOpenEnumW: Pointer;
  1264. function WNetOpenEnumW;
  1265. begin
  1266. GetProcedureAddress(_WNetOpenEnumW, mprlib, 'WNetOpenEnumW');
  1267. asm
  1268. MOV ESP, EBP
  1269. POP EBP
  1270. JMP [_WNetOpenEnumW]
  1271. end;
  1272. end;
  1273. var
  1274. _WNetOpenEnum: Pointer;
  1275. function WNetOpenEnum;
  1276. begin
  1277. GetProcedureAddress(_WNetOpenEnum, mprlib, 'WNetOpenEnum' + AWSuffix);
  1278. asm
  1279. MOV ESP, EBP
  1280. POP EBP
  1281. JMP [_WNetOpenEnum]
  1282. end;
  1283. end;
  1284. var
  1285. _WNetEnumResourceA: Pointer;
  1286. function WNetEnumResourceA;
  1287. begin
  1288. GetProcedureAddress(_WNetEnumResourceA, mprlib, 'WNetEnumResourceA');
  1289. asm
  1290. MOV ESP, EBP
  1291. POP EBP
  1292. JMP [_WNetEnumResourceA]
  1293. end;
  1294. end;
  1295. var
  1296. _WNetEnumResourceW: Pointer;
  1297. function WNetEnumResourceW;
  1298. begin
  1299. GetProcedureAddress(_WNetEnumResourceW, mprlib, 'WNetEnumResourceW');
  1300. asm
  1301. MOV ESP, EBP
  1302. POP EBP
  1303. JMP [_WNetEnumResourceW]
  1304. end;
  1305. end;
  1306. var
  1307. _WNetEnumResource: Pointer;
  1308. function WNetEnumResource;
  1309. begin
  1310. GetProcedureAddress(_WNetEnumResource, mprlib, 'WNetEnumResource' + AWSuffix);
  1311. asm
  1312. MOV ESP, EBP
  1313. POP EBP
  1314. JMP [_WNetEnumResource]
  1315. end;
  1316. end;
  1317. var
  1318. _WNetCloseEnum: Pointer;
  1319. function WNetCloseEnum;
  1320. begin
  1321. GetProcedureAddress(_WNetCloseEnum, mprlib, 'WNetCloseEnum');
  1322. asm
  1323. MOV ESP, EBP
  1324. POP EBP
  1325. JMP [_WNetCloseEnum]
  1326. end;
  1327. end;
  1328. var
  1329. _WNetGetResourceParentA: Pointer;
  1330. function WNetGetResourceParentA;
  1331. begin
  1332. GetProcedureAddress(_WNetGetResourceParentA, mprlib, 'WNetGetResourceParentA');
  1333. asm
  1334. MOV ESP, EBP
  1335. POP EBP
  1336. JMP [_WNetGetResourceParentA]
  1337. end;
  1338. end;
  1339. var
  1340. _WNetGetResourceParentW: Pointer;
  1341. function WNetGetResourceParentW;
  1342. begin
  1343. GetProcedureAddress(_WNetGetResourceParentW, mprlib, 'WNetGetResourceParentW');
  1344. asm
  1345. MOV ESP, EBP
  1346. POP EBP
  1347. JMP [_WNetGetResourceParentW]
  1348. end;
  1349. end;
  1350. var
  1351. _WNetGetResourceParent: Pointer;
  1352. function WNetGetResourceParent;
  1353. begin
  1354. GetProcedureAddress(_WNetGetResourceParent, mprlib, 'WNetGetResourceParent' + AWSuffix);
  1355. asm
  1356. MOV ESP, EBP
  1357. POP EBP
  1358. JMP [_WNetGetResourceParent]
  1359. end;
  1360. end;
  1361. var
  1362. _WNetGetResourceInformationA: Pointer;
  1363. function WNetGetResourceInformationA;
  1364. begin
  1365. GetProcedureAddress(_WNetGetResourceInformationA, mprlib, 'WNetGetResourceInformationA');
  1366. asm
  1367. MOV ESP, EBP
  1368. POP EBP
  1369. JMP [_WNetGetResourceInformationA]
  1370. end;
  1371. end;
  1372. var
  1373. _WNetGetResourceInformationW: Pointer;
  1374. function WNetGetResourceInformationW;
  1375. begin
  1376. GetProcedureAddress(_WNetGetResourceInformationW, mprlib, 'WNetGetResourceInformationW');
  1377. asm
  1378. MOV ESP, EBP
  1379. POP EBP
  1380. JMP [_WNetGetResourceInformationW]
  1381. end;
  1382. end;
  1383. var
  1384. _WNetGetResourceInformation: Pointer;
  1385. function WNetGetResourceInformation;
  1386. begin
  1387. GetProcedureAddress(_WNetGetResourceInformation, mprlib, 'WNetGetResourceInformation' + AWSuffix);
  1388. asm
  1389. MOV ESP, EBP
  1390. POP EBP
  1391. JMP [_WNetGetResourceInformation]
  1392. end;
  1393. end;
  1394. var
  1395. _WNetGetUniversalNameA: Pointer;
  1396. function WNetGetUniversalNameA;
  1397. begin
  1398. GetProcedureAddress(_WNetGetUniversalNameA, mprlib, 'WNetGetUniversalNameA');
  1399. asm
  1400. MOV ESP, EBP
  1401. POP EBP
  1402. JMP [_WNetGetUniversalNameA]
  1403. end;
  1404. end;
  1405. var
  1406. _WNetGetUniversalNameW: Pointer;
  1407. function WNetGetUniversalNameW;
  1408. begin
  1409. GetProcedureAddress(_WNetGetUniversalNameW, mprlib, 'WNetGetUniversalNameW');
  1410. asm
  1411. MOV ESP, EBP
  1412. POP EBP
  1413. JMP [_WNetGetUniversalNameW]
  1414. end;
  1415. end;
  1416. var
  1417. _WNetGetUniversalName: Pointer;
  1418. function WNetGetUniversalName;
  1419. begin
  1420. GetProcedureAddress(_WNetGetUniversalName, mprlib, 'WNetGetUniversalName' + AWSuffix);
  1421. asm
  1422. MOV ESP, EBP
  1423. POP EBP
  1424. JMP [_WNetGetUniversalName]
  1425. end;
  1426. end;
  1427. var
  1428. _WNetGetUserA: Pointer;
  1429. function WNetGetUserA;
  1430. begin
  1431. GetProcedureAddress(_WNetGetUserA, mprlib, 'WNetGetUserA');
  1432. asm
  1433. MOV ESP, EBP
  1434. POP EBP
  1435. JMP [_WNetGetUserA]
  1436. end;
  1437. end;
  1438. var
  1439. _WNetGetUserW: Pointer;
  1440. function WNetGetUserW;
  1441. begin
  1442. GetProcedureAddress(_WNetGetUserW, mprlib, 'WNetGetUserW');
  1443. asm
  1444. MOV ESP, EBP
  1445. POP EBP
  1446. JMP [_WNetGetUserW]
  1447. end;
  1448. end;
  1449. var
  1450. _WNetGetUser: Pointer;
  1451. function WNetGetUser;
  1452. begin
  1453. GetProcedureAddress(_WNetGetUser, mprlib, 'WNetGetUser' + AWSuffix);
  1454. asm
  1455. MOV ESP, EBP
  1456. POP EBP
  1457. JMP [_WNetGetUser]
  1458. end;
  1459. end;
  1460. var
  1461. _WNetGetProviderNameA: Pointer;
  1462. function WNetGetProviderNameA;
  1463. begin
  1464. GetProcedureAddress(_WNetGetProviderNameA, mprlib, 'WNetGetProviderNameA');
  1465. asm
  1466. MOV ESP, EBP
  1467. POP EBP
  1468. JMP [_WNetGetProviderNameA]
  1469. end;
  1470. end;
  1471. var
  1472. _WNetGetProviderNameW: Pointer;
  1473. function WNetGetProviderNameW;
  1474. begin
  1475. GetProcedureAddress(_WNetGetProviderNameW, mprlib, 'WNetGetProviderNameW');
  1476. asm
  1477. MOV ESP, EBP
  1478. POP EBP
  1479. JMP [_WNetGetProviderNameW]
  1480. end;
  1481. end;
  1482. var
  1483. _WNetGetProviderName: Pointer;
  1484. function WNetGetProviderName;
  1485. begin
  1486. GetProcedureAddress(_WNetGetProviderName, mprlib, 'WNetGetProviderName' + AWSuffix);
  1487. asm
  1488. MOV ESP, EBP
  1489. POP EBP
  1490. JMP [_WNetGetProviderName]
  1491. end;
  1492. end;
  1493. var
  1494. _WNetGetNetworkInformationA: Pointer;
  1495. function WNetGetNetworkInformationA;
  1496. begin
  1497. GetProcedureAddress(_WNetGetNetworkInformationA, mprlib, 'WNetGetNetworkInformationA');
  1498. asm
  1499. MOV ESP, EBP
  1500. POP EBP
  1501. JMP [_WNetGetNetworkInformationA]
  1502. end;
  1503. end;
  1504. var
  1505. _WNetGetNetworkInformationW: Pointer;
  1506. function WNetGetNetworkInformationW;
  1507. begin
  1508. GetProcedureAddress(_WNetGetNetworkInformationW, mprlib, 'WNetGetNetworkInformationW');
  1509. asm
  1510. MOV ESP, EBP
  1511. POP EBP
  1512. JMP [_WNetGetNetworkInformationW]
  1513. end;
  1514. end;
  1515. var
  1516. _WNetGetNetworkInformation: Pointer;
  1517. function WNetGetNetworkInformation;
  1518. begin
  1519. GetProcedureAddress(_WNetGetNetworkInformation, mprlib, 'WNetGetNetworkInformation' + AWSuffix);
  1520. asm
  1521. MOV ESP, EBP
  1522. POP EBP
  1523. JMP [_WNetGetNetworkInformation]
  1524. end;
  1525. end;
  1526. var
  1527. _WNetGetLastErrorA: Pointer;
  1528. function WNetGetLastErrorA;
  1529. begin
  1530. GetProcedureAddress(_WNetGetLastErrorA, mprlib, 'WNetGetLastErrorA');
  1531. asm
  1532. MOV ESP, EBP
  1533. POP EBP
  1534. JMP [_WNetGetLastErrorA]
  1535. end;
  1536. end;
  1537. var
  1538. _WNetGetLastErrorW: Pointer;
  1539. function WNetGetLastErrorW;
  1540. begin
  1541. GetProcedureAddress(_WNetGetLastErrorW, mprlib, 'WNetGetLastErrorW');
  1542. asm
  1543. MOV ESP, EBP
  1544. POP EBP
  1545. JMP [_WNetGetLastErrorW]
  1546. end;
  1547. end;
  1548. var
  1549. _WNetGetLastError: Pointer;
  1550. function WNetGetLastError;
  1551. begin
  1552. GetProcedureAddress(_WNetGetLastError, mprlib, 'WNetGetLastError' + AWSuffix);
  1553. asm
  1554. MOV ESP, EBP
  1555. POP EBP
  1556. JMP [_WNetGetLastError]
  1557. end;
  1558. end;
  1559. var
  1560. _MultinetGetConnectionPerfA: Pointer;
  1561. function MultinetGetConnectionPerformanceA;
  1562. begin
  1563. GetProcedureAddress(_MultinetGetConnectionPerfA, mprlib, 'MultinetGetConnectionPerformanceA');
  1564. asm
  1565. MOV ESP, EBP
  1566. POP EBP
  1567. JMP [_MultinetGetConnectionPerfA]
  1568. end;
  1569. end;
  1570. var
  1571. _MultinetGetConnectionPerfW: Pointer;
  1572. function MultinetGetConnectionPerformanceW;
  1573. begin
  1574. GetProcedureAddress(_MultinetGetConnectionPerfW, mprlib, 'MultinetGetConnectionPerformanceW');
  1575. asm
  1576. MOV ESP, EBP
  1577. POP EBP
  1578. JMP [_MultinetGetConnectionPerfW]
  1579. end;
  1580. end;
  1581. var
  1582. _MultinetGetConnectionPerf: Pointer;
  1583. function MultinetGetConnectionPerformance;
  1584. begin
  1585. GetProcedureAddress(_MultinetGetConnectionPerf, mprlib, 'MultinetGetConnectionPerformance' + AWSuffix);
  1586. asm
  1587. MOV ESP, EBP
  1588. POP EBP
  1589. JMP [_MultinetGetConnectionPerf]
  1590. end;
  1591. end;
  1592. {$ELSE}
  1593. function WNetAddConnectionA; external mprlib name 'WNetAddConnectionA';
  1594. function WNetAddConnectionW; external mprlib name 'WNetAddConnectionW';
  1595. function WNetAddConnection; external mprlib name 'WNetAddConnection' + AWSuffix;
  1596. function WNetAddConnection2A; external mprlib name 'WNetAddConnection2A';
  1597. function WNetAddConnection2W; external mprlib name 'WNetAddConnection2W';
  1598. function WNetAddConnection2; external mprlib name 'WNetAddConnection2' + AWSuffix;
  1599. function WNetAddConnection3A; external mprlib name 'WNetAddConnection3A';
  1600. function WNetAddConnection3W; external mprlib name 'WNetAddConnection3W';
  1601. function WNetAddConnection3; external mprlib name 'WNetAddConnection3' + AWSuffix;
  1602. function WNetCancelConnectionA; external mprlib name 'WNetCancelConnectionA';
  1603. function WNetCancelConnectionW; external mprlib name 'WNetCancelConnectionW';
  1604. function WNetCancelConnection; external mprlib name 'WNetCancelConnection' + AWSuffix;
  1605. function WNetCancelConnection2A; external mprlib name 'WNetCancelConnection2A';
  1606. function WNetCancelConnection2W; external mprlib name 'WNetCancelConnection2W';
  1607. function WNetCancelConnection2; external mprlib name 'WNetCancelConnection2' + AWSuffix;
  1608. function WNetGetConnectionA; external mprlib name 'WNetGetConnectionA';
  1609. function WNetGetConnectionW; external mprlib name 'WNetGetConnectionW';
  1610. function WNetGetConnection; external mprlib name 'WNetGetConnection' + AWSuffix;
  1611. function WNetRestoreConnectionA; external mprlib name 'WNetRestoreConnectionA';
  1612. function WNetRestoreConnectionW; external mprlib name 'WNetRestoreConnectionW';
  1613. function WNetRestoreConnection; external mprlib name 'WNetRestoreConnection' + AWSuffix;
  1614. function WNetUseConnectionA; external mprlib name 'WNetUseConnectionA';
  1615. function WNetUseConnectionW; external mprlib name 'WNetUseConnectionW';
  1616. function WNetUseConnection; external mprlib name 'WNetUseConnection' + AWSuffix;
  1617. function WNetConnectionDialog; external mprlib name 'WNetConnectionDialog';
  1618. function WNetDisconnectDialog; external mprlib name 'WNetDisconnectDialog';
  1619. function WNetConnectionDialog1A; external mprlib name 'WNetConnectionDialog1A';
  1620. function WNetConnectionDialog1W; external mprlib name 'WNetConnectionDialog1W';
  1621. function WNetConnectionDialog1; external mprlib name 'WNetConnectionDialog1' + AWSuffix;
  1622. function WNetDisconnectDialog1A; external mprlib name 'WNetDisconnectDialog1A';
  1623. function WNetDisconnectDialog1W; external mprlib name 'WNetDisconnectDialog1W';
  1624. function WNetDisconnectDialog1; external mprlib name 'WNetDisconnectDialog1' + AWSuffix;
  1625. function WNetOpenEnumA; external mprlib name 'WNetOpenEnumA';
  1626. function WNetOpenEnumW; external mprlib name 'WNetOpenEnumW';
  1627. function WNetOpenEnum; external mprlib name 'WNetOpenEnum' + AWSuffix;
  1628. function WNetEnumResourceA; external mprlib name 'WNetEnumResourceA';
  1629. function WNetEnumResourceW; external mprlib name 'WNetEnumResourceW';
  1630. function WNetEnumResource; external mprlib name 'WNetEnumResource' + AWSuffix;
  1631. function WNetCloseEnum; external mprlib name 'WNetCloseEnum';
  1632. function WNetGetResourceParentA; external mprlib name 'WNetGetResourceParentA';
  1633. function WNetGetResourceParentW; external mprlib name 'WNetGetResourceParentW';
  1634. function WNetGetResourceParent; external mprlib name 'WNetGetResourceParent' + AWSuffix;
  1635. function WNetGetResourceInformationA; external mprlib name 'WNetGetResourceInformationA';
  1636. function WNetGetResourceInformationW; external mprlib name 'WNetGetResourceInformationW';
  1637. function WNetGetResourceInformation; external mprlib name 'WNetGetResourceInformation' + AWSuffix;
  1638. function WNetGetUniversalNameA; external mprlib name 'WNetGetUniversalNameA';
  1639. function WNetGetUniversalNameW; external mprlib name 'WNetGetUniversalNameW';
  1640. function WNetGetUniversalName; external mprlib name 'WNetGetUniversalName' + AWSuffix;
  1641. function WNetGetUserA; external mprlib name 'WNetGetUserA';
  1642. function WNetGetUserW; external mprlib name 'WNetGetUserW';
  1643. function WNetGetUser; external mprlib name 'WNetGetUser' + AWSuffix;
  1644. function WNetGetProviderNameA; external mprlib name 'WNetGetProviderNameA';
  1645. function WNetGetProviderNameW; external mprlib name 'WNetGetProviderNameW';
  1646. function WNetGetProviderName; external mprlib name 'WNetGetProviderName' + AWSuffix;
  1647. function WNetGetNetworkInformationA; external mprlib name 'WNetGetNetworkInformationA';
  1648. function WNetGetNetworkInformationW; external mprlib name 'WNetGetNetworkInformationW';
  1649. function WNetGetNetworkInformation; external mprlib name 'WNetGetNetworkInformation' + AWSuffix;
  1650. function WNetGetLastErrorA; external mprlib name 'WNetGetLastErrorA';
  1651. function WNetGetLastErrorW; external mprlib name 'WNetGetLastErrorW';
  1652. function WNetGetLastError; external mprlib name 'WNetGetLastError' + AWSuffix;
  1653. function MultinetGetConnectionPerformanceA; external mprlib name 'MultinetGetConnectionPerformanceA';
  1654. function MultinetGetConnectionPerformanceW; external mprlib name 'MultinetGetConnectionPerformanceW';
  1655. function MultinetGetConnectionPerformance; external mprlib name 'MultinetGetConnectionPerformance' + AWSuffix;
  1656. {$ENDIF DYNAMIC_LINK}
  1657. {$ENDIF JWA_IMPLEMENTATIONSECTION}
  1658. {$IFNDEF JWA_INCLUDEMODE}
  1659. end.
  1660. {$ENDIF !JWA_INCLUDEMODE}