jwalmwksta.pas 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074
  1. {******************************************************************************}
  2. { }
  3. { Lan Manager Workstation 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: lmwksta.h, released November 2001. The original Pascal }
  9. { code is: LmWkSta.pas, released Februari 2002. 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. unit JwaLmWkSta;
  43. {$WEAKPACKAGEUNIT}
  44. {$HPPEMIT ''}
  45. {$HPPEMIT '#include "lmwksta.h"'}
  46. {$HPPEMIT ''}
  47. {$I jediapilib.inc}
  48. interface
  49. uses
  50. JwaLmCons, JwaWinType;
  51. //
  52. // Function Prototypes
  53. //
  54. function NetWkstaGetInfo(servername: LMSTR; level: DWORD; var bufptr: LPBYTE): NET_API_STATUS; stdcall;
  55. {$EXTERNALSYM NetWkstaGetInfo}
  56. function NetWkstaSetInfo(servername: LMSTR; level: DWORD; buffer: LPBYTE; parm_err: LPDWORD): NET_API_STATUS; stdcall;
  57. {$EXTERNALSYM NetWkstaSetInfo}
  58. function NetWkstaUserGetInfo(reserved: LMSTR; level: DWORD; var bufptr: LPBYTE): NET_API_STATUS; stdcall;
  59. {$EXTERNALSYM NetWkstaUserGetInfo}
  60. function NetWkstaUserSetInfo(reserved: LMSTR; level: DWORD; buf: LPBYTE; parm_err: LPDWORD): NET_API_STATUS; stdcall;
  61. {$EXTERNALSYM NetWkstaUserSetInfo}
  62. function NetWkstaUserEnum(servername: LMSTR; level: DWORD; var bufptr: LPBYTE; prefmaxlen: DWORD; entriesread: LPDWORD; totalentries: LPDWORD; resumehandle: LPDWORD): NET_API_STATUS; stdcall;
  63. {$EXTERNALSYM NetWkstaUserEnum}
  64. function NetWkstaTransportAdd(servername: LMSTR; level: DWORD; buf: LPBYTE; parm_err: LPDWORD): NET_API_STATUS; stdcall;
  65. {$EXTERNALSYM NetWkstaTransportAdd}
  66. function NetWkstaTransportDel(servername: LMSTR; transportname: LMSTR; ucond: DWORD): NET_API_STATUS; stdcall;
  67. {$EXTERNALSYM NetWkstaTransportDel}
  68. function NetWkstaTransportEnum(servername: LMSTR; level: DWORD; var bufptr: LPBYTE; prefmaxlen: DWORD; entriesread: LPDWORD; totalentries: LPDWORD; resumehandle: LPDWORD): NET_API_STATUS; stdcall;
  69. {$EXTERNALSYM NetWkstaTransportEnum}
  70. //
  71. // Data Structures
  72. //
  73. //
  74. // NetWkstaGetInfo and NetWkstaSetInfo
  75. //
  76. //
  77. // NetWkstaGetInfo only. System information - guest access
  78. //
  79. type
  80. LPWKSTA_INFO_100 = ^WKSTA_INFO_100;
  81. {$EXTERNALSYM LPWKSTA_INFO_100}
  82. PWKSTA_INFO_100 = ^WKSTA_INFO_100;
  83. {$EXTERNALSYM PWKSTA_INFO_100}
  84. _WKSTA_INFO_100 = record
  85. wki100_platform_id: DWORD;
  86. wki100_computername: LMSTR;
  87. wki100_langroup: LMSTR;
  88. wki100_ver_major: DWORD;
  89. wki100_ver_minor: DWORD;
  90. end;
  91. {$EXTERNALSYM _WKSTA_INFO_100}
  92. WKSTA_INFO_100 = _WKSTA_INFO_100;
  93. {$EXTERNALSYM WKSTA_INFO_100}
  94. TWkstaInfo100 = WKSTA_INFO_100;
  95. PWkstaInfo100 = PWKSTA_INFO_100;
  96. //
  97. // NetWkstaGetInfo only. System information - user access
  98. //
  99. LPWKSTA_INFO_101 = ^WKSTA_INFO_101;
  100. {$EXTERNALSYM LPWKSTA_INFO_101}
  101. PWKSTA_INFO_101 = ^WKSTA_INFO_101;
  102. {$EXTERNALSYM PWKSTA_INFO_101}
  103. _WKSTA_INFO_101 = record
  104. wki101_platform_id: DWORD;
  105. wki101_computername: LMSTR;
  106. wki101_langroup: LMSTR;
  107. wki101_ver_major: DWORD;
  108. wki101_ver_minor: DWORD;
  109. wki101_lanroot: LMSTR;
  110. end;
  111. {$EXTERNALSYM _WKSTA_INFO_101}
  112. WKSTA_INFO_101 = _WKSTA_INFO_101;
  113. {$EXTERNALSYM WKSTA_INFO_101}
  114. TWkstaInfo101 = WKSTA_INFO_101;
  115. PWkstaInfo101 = PWKSTA_INFO_101;
  116. //
  117. // NetWkstaGetInfo only. System information - admin or operator access
  118. //
  119. LPWKSTA_INFO_102 = ^WKSTA_INFO_102;
  120. {$EXTERNALSYM LPWKSTA_INFO_102}
  121. PWKSTA_INFO_102 = ^WKSTA_INFO_102;
  122. {$EXTERNALSYM PWKSTA_INFO_102}
  123. _WKSTA_INFO_102 = record
  124. wki102_platform_id: DWORD;
  125. wki102_computername: LMSTR;
  126. wki102_langroup: LMSTR;
  127. wki102_ver_major: DWORD;
  128. wki102_ver_minor: DWORD;
  129. wki102_lanroot: LMSTR;
  130. wki102_logged_on_users: DWORD;
  131. end;
  132. {$EXTERNALSYM _WKSTA_INFO_102}
  133. WKSTA_INFO_102 = _WKSTA_INFO_102;
  134. {$EXTERNALSYM WKSTA_INFO_102}
  135. TWkstaInfo102 = WKSTA_INFO_102;
  136. PWkstaInfo102 = PWKSTA_INFO_102;
  137. //
  138. // Down-level NetWkstaGetInfo and NetWkstaSetInfo.
  139. //
  140. // DOS specific workstation information -
  141. // admin or domain operator access
  142. //
  143. LPWKSTA_INFO_302 = ^WKSTA_INFO_302;
  144. {$EXTERNALSYM LPWKSTA_INFO_302}
  145. PWKSTA_INFO_302 = ^WKSTA_INFO_302;
  146. {$EXTERNALSYM PWKSTA_INFO_302}
  147. _WKSTA_INFO_302 = record
  148. wki302_char_wait: DWORD;
  149. wki302_collection_time: DWORD;
  150. wki302_maximum_collection_count: DWORD;
  151. wki302_keep_conn: DWORD;
  152. wki302_keep_search: DWORD;
  153. wki302_max_cmds: DWORD;
  154. wki302_num_work_buf: DWORD;
  155. wki302_siz_work_buf: DWORD;
  156. wki302_max_wrk_cache: DWORD;
  157. wki302_sess_timeout: DWORD;
  158. wki302_siz_error: DWORD;
  159. wki302_num_alerts: DWORD;
  160. wki302_num_services: DWORD;
  161. wki302_errlog_sz: DWORD;
  162. wki302_print_buf_time: DWORD;
  163. wki302_num_char_buf: DWORD;
  164. wki302_siz_char_buf: DWORD;
  165. wki302_wrk_heuristics: LMSTR;
  166. wki302_mailslots: DWORD;
  167. wki302_num_dgram_buf: DWORD;
  168. end;
  169. {$EXTERNALSYM _WKSTA_INFO_302}
  170. WKSTA_INFO_302 = _WKSTA_INFO_302;
  171. {$EXTERNALSYM WKSTA_INFO_302}
  172. TWkstaInfo302 = WKSTA_INFO_302;
  173. PWkstaInfo302 = PWKSTA_INFO_302;
  174. //
  175. // Down-level NetWkstaGetInfo and NetWkstaSetInfo
  176. //
  177. // OS/2 specific workstation information -
  178. // admin or domain operator access
  179. //
  180. LPWKSTA_INFO_402 = ^WKSTA_INFO_402;
  181. {$EXTERNALSYM LPWKSTA_INFO_402}
  182. PWKSTA_INFO_402 = ^WKSTA_INFO_402;
  183. {$EXTERNALSYM PWKSTA_INFO_402}
  184. _WKSTA_INFO_402 = record
  185. wki402_char_wait: DWORD;
  186. wki402_collection_time: DWORD;
  187. wki402_maximum_collection_count: DWORD;
  188. wki402_keep_conn: DWORD;
  189. wki402_keep_search: DWORD;
  190. wki402_max_cmds: DWORD;
  191. wki402_num_work_buf: DWORD;
  192. wki402_siz_work_buf: DWORD;
  193. wki402_max_wrk_cache: DWORD;
  194. wki402_sess_timeout: DWORD;
  195. wki402_siz_error: DWORD;
  196. wki402_num_alerts: DWORD;
  197. wki402_num_services: DWORD;
  198. wki402_errlog_sz: DWORD;
  199. wki402_print_buf_time: DWORD;
  200. wki402_num_char_buf: DWORD;
  201. wki402_siz_char_buf: DWORD;
  202. wki402_wrk_heuristics: LMSTR;
  203. wki402_mailslots: DWORD;
  204. wki402_num_dgram_buf: DWORD;
  205. wki402_max_threads: DWORD;
  206. end;
  207. {$EXTERNALSYM _WKSTA_INFO_402}
  208. WKSTA_INFO_402 = _WKSTA_INFO_402;
  209. {$EXTERNALSYM WKSTA_INFO_402}
  210. TWkstaInfo402 = WKSTA_INFO_402;
  211. PWkstaInfo402 = PWKSTA_INFO_402;
  212. //
  213. // Same-level NetWkstaGetInfo and NetWkstaSetInfo.
  214. //
  215. // NT specific workstation information -
  216. // admin or domain operator access
  217. //
  218. LPWKSTA_INFO_502 = ^WKSTA_INFO_502;
  219. {$EXTERNALSYM LPWKSTA_INFO_502}
  220. PWKSTA_INFO_502 = ^WKSTA_INFO_502;
  221. {$EXTERNALSYM PWKSTA_INFO_502}
  222. _WKSTA_INFO_502 = record
  223. wki502_char_wait: DWORD;
  224. wki502_collection_time: DWORD;
  225. wki502_maximum_collection_count: DWORD;
  226. wki502_keep_conn: DWORD;
  227. wki502_max_cmds: DWORD;
  228. wki502_sess_timeout: DWORD;
  229. wki502_siz_char_buf: DWORD;
  230. wki502_max_threads: DWORD;
  231. wki502_lock_quota: DWORD;
  232. wki502_lock_increment: DWORD;
  233. wki502_lock_maximum: DWORD;
  234. wki502_pipe_increment: DWORD;
  235. wki502_pipe_maximum: DWORD;
  236. wki502_cache_file_timeout: DWORD;
  237. wki502_dormant_file_limit: DWORD;
  238. wki502_read_ahead_throughput: DWORD;
  239. wki502_num_mailslot_buffers: DWORD;
  240. wki502_num_srv_announce_buffers: DWORD;
  241. wki502_max_illegal_datagram_events: DWORD;
  242. wki502_illegal_datagram_event_reset_frequency: DWORD;
  243. wki502_log_election_packets: BOOL;
  244. wki502_use_opportunistic_locking: BOOL;
  245. wki502_use_unlock_behind: BOOL;
  246. wki502_use_close_behind: BOOL;
  247. wki502_buf_named_pipes: BOOL;
  248. wki502_use_lock_read_unlock: BOOL;
  249. wki502_utilize_nt_caching: BOOL;
  250. wki502_use_raw_read: BOOL;
  251. wki502_use_raw_write: BOOL;
  252. wki502_use_write_raw_data: BOOL;
  253. wki502_use_encryption: BOOL;
  254. wki502_buf_files_deny_write: BOOL;
  255. wki502_buf_read_only_files: BOOL;
  256. wki502_force_core_create_mode: BOOL;
  257. wki502_use_512_byte_max_transfer: BOOL;
  258. end;
  259. {$EXTERNALSYM _WKSTA_INFO_502}
  260. WKSTA_INFO_502 = _WKSTA_INFO_502;
  261. {$EXTERNALSYM WKSTA_INFO_502}
  262. TWkstaInfo502 = WKSTA_INFO_502;
  263. PWkstaInfo502 = PWKSTA_INFO_502;
  264. //
  265. // The following info-levels are only valid for NetWkstaSetInfo
  266. //
  267. //
  268. // The following levels are supported on down-level systems (LAN Man 2.x)
  269. // as well as NT systems:
  270. //
  271. LPWKSTA_INFO_1010 = ^WKSTA_INFO_1010;
  272. {$EXTERNALSYM LPWKSTA_INFO_1010}
  273. PWKSTA_INFO_1010 = ^WKSTA_INFO_1010;
  274. {$EXTERNALSYM PWKSTA_INFO_1010}
  275. _WKSTA_INFO_1010 = record
  276. wki1010_char_wait: DWORD;
  277. end;
  278. {$EXTERNALSYM _WKSTA_INFO_1010}
  279. WKSTA_INFO_1010 = _WKSTA_INFO_1010;
  280. {$EXTERNALSYM WKSTA_INFO_1010}
  281. TWkstaInfo1010 = WKSTA_INFO_1010;
  282. PWkstaInfo1010 = PWKSTA_INFO_1010;
  283. LPWKSTA_INFO_1011 = ^WKSTA_INFO_1011;
  284. {$EXTERNALSYM LPWKSTA_INFO_1011}
  285. PWKSTA_INFO_1011 = ^WKSTA_INFO_1011;
  286. {$EXTERNALSYM PWKSTA_INFO_1011}
  287. _WKSTA_INFO_1011 = record
  288. wki1011_collection_time: DWORD;
  289. end;
  290. {$EXTERNALSYM _WKSTA_INFO_1011}
  291. WKSTA_INFO_1011 = _WKSTA_INFO_1011;
  292. {$EXTERNALSYM WKSTA_INFO_1011}
  293. TWkstaInfo1011 = WKSTA_INFO_1011;
  294. PWkstaInfo1011 = PWKSTA_INFO_1011;
  295. LPWKSTA_INFO_1012 = ^WKSTA_INFO_1012;
  296. {$EXTERNALSYM LPWKSTA_INFO_1012}
  297. PWKSTA_INFO_1012 = ^WKSTA_INFO_1012;
  298. {$EXTERNALSYM PWKSTA_INFO_1012}
  299. _WKSTA_INFO_1012 = record
  300. wki1012_maximum_collection_count: DWORD;
  301. end;
  302. {$EXTERNALSYM _WKSTA_INFO_1012}
  303. WKSTA_INFO_1012 = _WKSTA_INFO_1012;
  304. {$EXTERNALSYM WKSTA_INFO_1012}
  305. TWkstaInfo1012 = WKSTA_INFO_1012;
  306. PWkstaInfo1012 = PWKSTA_INFO_1012;
  307. //
  308. // The following level are supported on down-level systems (LAN Man 2.x)
  309. // only:
  310. //
  311. LPWKSTA_INFO_1027 = ^WKSTA_INFO_1027;
  312. {$EXTERNALSYM LPWKSTA_INFO_1027}
  313. PWKSTA_INFO_1027 = ^WKSTA_INFO_1027;
  314. {$EXTERNALSYM PWKSTA_INFO_1027}
  315. _WKSTA_INFO_1027 = record
  316. wki1027_errlog_sz: DWORD;
  317. end;
  318. {$EXTERNALSYM _WKSTA_INFO_1027}
  319. WKSTA_INFO_1027 = _WKSTA_INFO_1027;
  320. {$EXTERNALSYM WKSTA_INFO_1027}
  321. TWkstaInfo1027 = WKSTA_INFO_1027;
  322. PWkstaInfo1027 = PWKSTA_INFO_1027;
  323. LPWKSTA_INFO_1028 = ^WKSTA_INFO_1028;
  324. {$EXTERNALSYM LPWKSTA_INFO_1028}
  325. PWKSTA_INFO_1028 = ^WKSTA_INFO_1028;
  326. {$EXTERNALSYM PWKSTA_INFO_1028}
  327. _WKSTA_INFO_1028 = record
  328. wki1028_print_buf_time: DWORD;
  329. end;
  330. {$EXTERNALSYM _WKSTA_INFO_1028}
  331. WKSTA_INFO_1028 = _WKSTA_INFO_1028;
  332. {$EXTERNALSYM WKSTA_INFO_1028}
  333. TWkstaInfo1028 = WKSTA_INFO_1028;
  334. PWkstaInfo1028 = PWKSTA_INFO_1028;
  335. LPWKSTA_INFO_1032 = ^WKSTA_INFO_1032;
  336. {$EXTERNALSYM LPWKSTA_INFO_1032}
  337. PWKSTA_INFO_1032 = ^WKSTA_INFO_1032;
  338. {$EXTERNALSYM PWKSTA_INFO_1032}
  339. _WKSTA_INFO_1032 = record
  340. wki1032_wrk_heuristics: DWORD;
  341. end;
  342. {$EXTERNALSYM _WKSTA_INFO_1032}
  343. WKSTA_INFO_1032 = _WKSTA_INFO_1032;
  344. {$EXTERNALSYM WKSTA_INFO_1032}
  345. TWkstaInfo1032 = WKSTA_INFO_1032;
  346. PWkstaInfo1032 = PWKSTA_INFO_1032;
  347. //
  348. // The following levels are settable on NT systems, and have no
  349. // effect on down-level systems (i.e. LANMan 2.x) since these
  350. // fields cannot be set on them:
  351. //
  352. LPWKSTA_INFO_1013 = ^WKSTA_INFO_1013;
  353. {$EXTERNALSYM LPWKSTA_INFO_1013}
  354. PWKSTA_INFO_1013 = ^WKSTA_INFO_1013;
  355. {$EXTERNALSYM PWKSTA_INFO_1013}
  356. _WKSTA_INFO_1013 = record
  357. wki1013_keep_conn: DWORD;
  358. end;
  359. {$EXTERNALSYM _WKSTA_INFO_1013}
  360. WKSTA_INFO_1013 = _WKSTA_INFO_1013;
  361. {$EXTERNALSYM WKSTA_INFO_1013}
  362. TWkstaInfo1013 = WKSTA_INFO_1013;
  363. PWkstaInfo1013 = PWKSTA_INFO_1013;
  364. LPWKSTA_INFO_1018 = ^WKSTA_INFO_1018;
  365. {$EXTERNALSYM LPWKSTA_INFO_1018}
  366. PWKSTA_INFO_1018 = ^WKSTA_INFO_1018;
  367. {$EXTERNALSYM PWKSTA_INFO_1018}
  368. _WKSTA_INFO_1018 = record
  369. wki1018_sess_timeout: DWORD;
  370. end;
  371. {$EXTERNALSYM _WKSTA_INFO_1018}
  372. WKSTA_INFO_1018 = _WKSTA_INFO_1018;
  373. {$EXTERNALSYM WKSTA_INFO_1018}
  374. TWkstaInfo1018 = WKSTA_INFO_1018;
  375. PWkstaInfo1018 = PWKSTA_INFO_1018;
  376. LPWKSTA_INFO_1023 = ^WKSTA_INFO_1023;
  377. {$EXTERNALSYM LPWKSTA_INFO_1023}
  378. PWKSTA_INFO_1023 = ^WKSTA_INFO_1023;
  379. {$EXTERNALSYM PWKSTA_INFO_1023}
  380. _WKSTA_INFO_1023 = record
  381. wki1023_siz_char_buf: DWORD;
  382. end;
  383. {$EXTERNALSYM _WKSTA_INFO_1023}
  384. WKSTA_INFO_1023 = _WKSTA_INFO_1023;
  385. {$EXTERNALSYM WKSTA_INFO_1023}
  386. TWkstaInfo1023 = WKSTA_INFO_1023;
  387. PWkstaInfo1023 = PWKSTA_INFO_1023;
  388. LPWKSTA_INFO_1033 = ^WKSTA_INFO_1033;
  389. {$EXTERNALSYM LPWKSTA_INFO_1033}
  390. PWKSTA_INFO_1033 = ^WKSTA_INFO_1033;
  391. {$EXTERNALSYM PWKSTA_INFO_1033}
  392. _WKSTA_INFO_1033 = record
  393. wki1033_max_threads: DWORD;
  394. end;
  395. {$EXTERNALSYM _WKSTA_INFO_1033}
  396. WKSTA_INFO_1033 = _WKSTA_INFO_1033;
  397. {$EXTERNALSYM WKSTA_INFO_1033}
  398. TWkstaInfo1033 = WKSTA_INFO_1033;
  399. PWkstaInfo1033 = PWKSTA_INFO_1033;
  400. //
  401. // The following levels are only supported on NT systems:
  402. //
  403. LPWKSTA_INFO_1041 = ^WKSTA_INFO_1041;
  404. {$EXTERNALSYM LPWKSTA_INFO_1041}
  405. PWKSTA_INFO_1041 = ^WKSTA_INFO_1041;
  406. {$EXTERNALSYM PWKSTA_INFO_1041}
  407. _WKSTA_INFO_1041 = record
  408. wki1041_lock_quota: DWORD;
  409. end;
  410. {$EXTERNALSYM _WKSTA_INFO_1041}
  411. WKSTA_INFO_1041 = _WKSTA_INFO_1041;
  412. {$EXTERNALSYM WKSTA_INFO_1041}
  413. TWkstaInfo1041 = WKSTA_INFO_1041;
  414. PWkstaInfo1041 = PWKSTA_INFO_1041;
  415. LPWKSTA_INFO_1042 = ^WKSTA_INFO_1042;
  416. {$EXTERNALSYM LPWKSTA_INFO_1042}
  417. PWKSTA_INFO_1042 = ^WKSTA_INFO_1042;
  418. {$EXTERNALSYM PWKSTA_INFO_1042}
  419. _WKSTA_INFO_1042 = record
  420. wki1042_lock_increment: DWORD;
  421. end;
  422. {$EXTERNALSYM _WKSTA_INFO_1042}
  423. WKSTA_INFO_1042 = _WKSTA_INFO_1042;
  424. {$EXTERNALSYM WKSTA_INFO_1042}
  425. TWkstaInfo1042 = WKSTA_INFO_1042;
  426. PWkstaInfo1042 = PWKSTA_INFO_1042;
  427. LPWKSTA_INFO_1043 = ^WKSTA_INFO_1043;
  428. {$EXTERNALSYM LPWKSTA_INFO_1043}
  429. PWKSTA_INFO_1043 = ^WKSTA_INFO_1043;
  430. {$EXTERNALSYM PWKSTA_INFO_1043}
  431. _WKSTA_INFO_1043 = record
  432. wki1043_lock_maximum: DWORD;
  433. end;
  434. {$EXTERNALSYM _WKSTA_INFO_1043}
  435. WKSTA_INFO_1043 = _WKSTA_INFO_1043;
  436. {$EXTERNALSYM WKSTA_INFO_1043}
  437. TWkstaInfo1043 = WKSTA_INFO_1043;
  438. PWkstaInfo1043 = PWKSTA_INFO_1043;
  439. LPWKSTA_INFO_1044 = ^WKSTA_INFO_1044;
  440. {$EXTERNALSYM LPWKSTA_INFO_1044}
  441. PWKSTA_INFO_1044 = ^WKSTA_INFO_1044;
  442. {$EXTERNALSYM PWKSTA_INFO_1044}
  443. _WKSTA_INFO_1044 = record
  444. wki1044_pipe_increment: DWORD;
  445. end;
  446. {$EXTERNALSYM _WKSTA_INFO_1044}
  447. WKSTA_INFO_1044 = _WKSTA_INFO_1044;
  448. {$EXTERNALSYM WKSTA_INFO_1044}
  449. TWkstaInfo1044 = WKSTA_INFO_1044;
  450. PWkstaInfo1044 = PWKSTA_INFO_1044;
  451. LPWKSTA_INFO_1045 = ^WKSTA_INFO_1045;
  452. {$EXTERNALSYM LPWKSTA_INFO_1045}
  453. PWKSTA_INFO_1045 = ^WKSTA_INFO_1045;
  454. {$EXTERNALSYM PWKSTA_INFO_1045}
  455. _WKSTA_INFO_1045 = record
  456. wki1045_pipe_maximum: DWORD;
  457. end;
  458. {$EXTERNALSYM _WKSTA_INFO_1045}
  459. WKSTA_INFO_1045 = _WKSTA_INFO_1045;
  460. {$EXTERNALSYM WKSTA_INFO_1045}
  461. TWkstaInfo1045 = WKSTA_INFO_1045;
  462. PWkstaInfo1045 = PWKSTA_INFO_1045;
  463. LPWKSTA_INFO_1046 = ^WKSTA_INFO_1046;
  464. {$EXTERNALSYM LPWKSTA_INFO_1046}
  465. PWKSTA_INFO_1046 = ^WKSTA_INFO_1046;
  466. {$EXTERNALSYM PWKSTA_INFO_1046}
  467. _WKSTA_INFO_1046 = record
  468. wki1046_dormant_file_limit: DWORD;
  469. end;
  470. {$EXTERNALSYM _WKSTA_INFO_1046}
  471. WKSTA_INFO_1046 = _WKSTA_INFO_1046;
  472. {$EXTERNALSYM WKSTA_INFO_1046}
  473. TWkstaInfo1046 = WKSTA_INFO_1046;
  474. PWkstaInfo1046 = PWKSTA_INFO_1046;
  475. LPWKSTA_INFO_1047 = ^WKSTA_INFO_1047;
  476. {$EXTERNALSYM LPWKSTA_INFO_1047}
  477. PWKSTA_INFO_1047 = ^WKSTA_INFO_1047;
  478. {$EXTERNALSYM PWKSTA_INFO_1047}
  479. _WKSTA_INFO_1047 = record
  480. wki1047_cache_file_timeout: DWORD;
  481. end;
  482. {$EXTERNALSYM _WKSTA_INFO_1047}
  483. WKSTA_INFO_1047 = _WKSTA_INFO_1047;
  484. {$EXTERNALSYM WKSTA_INFO_1047}
  485. TWkstaInfo1047 = WKSTA_INFO_1047;
  486. PWkstaInfo1047 = PWKSTA_INFO_1047;
  487. LPWKSTA_INFO_1048 = ^WKSTA_INFO_1048;
  488. {$EXTERNALSYM LPWKSTA_INFO_1048}
  489. PWKSTA_INFO_1048 = ^WKSTA_INFO_1048;
  490. {$EXTERNALSYM PWKSTA_INFO_1048}
  491. _WKSTA_INFO_1048 = record
  492. wki1048_use_opportunistic_locking: BOOL;
  493. end;
  494. {$EXTERNALSYM _WKSTA_INFO_1048}
  495. WKSTA_INFO_1048 = _WKSTA_INFO_1048;
  496. {$EXTERNALSYM WKSTA_INFO_1048}
  497. TWkstaInfo1048 = WKSTA_INFO_1048;
  498. PWkstaInfo1048 = PWKSTA_INFO_1048;
  499. LPWKSTA_INFO_1049 = ^WKSTA_INFO_1049;
  500. {$EXTERNALSYM LPWKSTA_INFO_1049}
  501. PWKSTA_INFO_1049 = ^WKSTA_INFO_1049;
  502. {$EXTERNALSYM PWKSTA_INFO_1049}
  503. _WKSTA_INFO_1049 = record
  504. wki1049_use_unlock_behind: BOOL;
  505. end;
  506. {$EXTERNALSYM _WKSTA_INFO_1049}
  507. WKSTA_INFO_1049 = _WKSTA_INFO_1049;
  508. {$EXTERNALSYM WKSTA_INFO_1049}
  509. TWkstaInfo1049 = WKSTA_INFO_1049;
  510. PWkstaInfo1049 = PWKSTA_INFO_1049;
  511. LPWKSTA_INFO_1050 = ^WKSTA_INFO_1050;
  512. {$EXTERNALSYM LPWKSTA_INFO_1050}
  513. PWKSTA_INFO_1050 = ^WKSTA_INFO_1050;
  514. {$EXTERNALSYM PWKSTA_INFO_1050}
  515. _WKSTA_INFO_1050 = record
  516. wki1050_use_close_behind: BOOL;
  517. end;
  518. {$EXTERNALSYM _WKSTA_INFO_1050}
  519. WKSTA_INFO_1050 = _WKSTA_INFO_1050;
  520. {$EXTERNALSYM WKSTA_INFO_1050}
  521. TWkstaInfo1050 = WKSTA_INFO_1050;
  522. PWkstaInfo1050 = PWKSTA_INFO_1050;
  523. LPWKSTA_INFO_1051 = ^WKSTA_INFO_1051;
  524. {$EXTERNALSYM LPWKSTA_INFO_1051}
  525. PWKSTA_INFO_1051 = ^WKSTA_INFO_1051;
  526. {$EXTERNALSYM PWKSTA_INFO_1051}
  527. _WKSTA_INFO_1051 = record
  528. wki1051_buf_named_pipes: BOOL;
  529. end;
  530. {$EXTERNALSYM _WKSTA_INFO_1051}
  531. WKSTA_INFO_1051 = _WKSTA_INFO_1051;
  532. {$EXTERNALSYM WKSTA_INFO_1051}
  533. TWkstaInfo1051 = WKSTA_INFO_1051;
  534. PWkstaInfo1051 = PWKSTA_INFO_1051;
  535. LPWKSTA_INFO_1052 = ^WKSTA_INFO_1052;
  536. {$EXTERNALSYM LPWKSTA_INFO_1052}
  537. PWKSTA_INFO_1052 = ^WKSTA_INFO_1052;
  538. {$EXTERNALSYM PWKSTA_INFO_1052}
  539. _WKSTA_INFO_1052 = record
  540. wki1052_use_lock_read_unlock: BOOL;
  541. end;
  542. {$EXTERNALSYM _WKSTA_INFO_1052}
  543. WKSTA_INFO_1052 = _WKSTA_INFO_1052;
  544. {$EXTERNALSYM WKSTA_INFO_1052}
  545. TWkstaInfo1052 = WKSTA_INFO_1052;
  546. PWkstaInfo1052 = PWKSTA_INFO_1052;
  547. LPWKSTA_INFO_1053 = ^WKSTA_INFO_1053;
  548. {$EXTERNALSYM LPWKSTA_INFO_1053}
  549. PWKSTA_INFO_1053 = ^WKSTA_INFO_1053;
  550. {$EXTERNALSYM PWKSTA_INFO_1053}
  551. _WKSTA_INFO_1053 = record
  552. wki1053_utilize_nt_caching: BOOL;
  553. end;
  554. {$EXTERNALSYM _WKSTA_INFO_1053}
  555. WKSTA_INFO_1053 = _WKSTA_INFO_1053;
  556. {$EXTERNALSYM WKSTA_INFO_1053}
  557. TWkstaInfo1053 = WKSTA_INFO_1053;
  558. PWkstaInfo1053 = PWKSTA_INFO_1053;
  559. LPWKSTA_INFO_1054 = ^WKSTA_INFO_1054;
  560. {$EXTERNALSYM LPWKSTA_INFO_1054}
  561. PWKSTA_INFO_1054 = ^WKSTA_INFO_1054;
  562. {$EXTERNALSYM PWKSTA_INFO_1054}
  563. _WKSTA_INFO_1054 = record
  564. wki1054_use_raw_read: BOOL;
  565. end;
  566. {$EXTERNALSYM _WKSTA_INFO_1054}
  567. WKSTA_INFO_1054 = _WKSTA_INFO_1054;
  568. {$EXTERNALSYM WKSTA_INFO_1054}
  569. TWkstaInfo1054 = WKSTA_INFO_1054;
  570. PWkstaInfo1054 = PWKSTA_INFO_1054;
  571. LPWKSTA_INFO_1055 = ^WKSTA_INFO_1055;
  572. {$EXTERNALSYM LPWKSTA_INFO_1055}
  573. PWKSTA_INFO_1055 = ^WKSTA_INFO_1055;
  574. {$EXTERNALSYM PWKSTA_INFO_1055}
  575. _WKSTA_INFO_1055 = record
  576. wki1055_use_raw_write: BOOL;
  577. end;
  578. {$EXTERNALSYM _WKSTA_INFO_1055}
  579. WKSTA_INFO_1055 = _WKSTA_INFO_1055;
  580. {$EXTERNALSYM WKSTA_INFO_1055}
  581. TWkstaInfo1055 = WKSTA_INFO_1055;
  582. PWkstaInfo1055 = PWKSTA_INFO_1055;
  583. LPWKSTA_INFO_1056 = ^WKSTA_INFO_1056;
  584. {$EXTERNALSYM LPWKSTA_INFO_1056}
  585. PWKSTA_INFO_1056 = ^WKSTA_INFO_1056;
  586. {$EXTERNALSYM PWKSTA_INFO_1056}
  587. _WKSTA_INFO_1056 = record
  588. wki1056_use_write_raw_data: BOOL;
  589. end;
  590. {$EXTERNALSYM _WKSTA_INFO_1056}
  591. WKSTA_INFO_1056 = _WKSTA_INFO_1056;
  592. {$EXTERNALSYM WKSTA_INFO_1056}
  593. TWkstaInfo1056 = WKSTA_INFO_1056;
  594. PWkstaInfo1056 = PWKSTA_INFO_1056;
  595. LPWKSTA_INFO_1057 = ^WKSTA_INFO_1057;
  596. {$EXTERNALSYM LPWKSTA_INFO_1057}
  597. PWKSTA_INFO_1057 = ^WKSTA_INFO_1057;
  598. {$EXTERNALSYM PWKSTA_INFO_1057}
  599. _WKSTA_INFO_1057 = record
  600. wki1057_use_encryption: BOOL;
  601. end;
  602. {$EXTERNALSYM _WKSTA_INFO_1057}
  603. WKSTA_INFO_1057 = _WKSTA_INFO_1057;
  604. {$EXTERNALSYM WKSTA_INFO_1057}
  605. TWkstaInfo1057 = WKSTA_INFO_1057;
  606. PWkstaInfo1057 = PWKSTA_INFO_1057;
  607. LPWKSTA_INFO_1058 = ^WKSTA_INFO_1058;
  608. {$EXTERNALSYM LPWKSTA_INFO_1058}
  609. PWKSTA_INFO_1058 = ^WKSTA_INFO_1058;
  610. {$EXTERNALSYM PWKSTA_INFO_1058}
  611. _WKSTA_INFO_1058 = record
  612. wki1058_buf_files_deny_write: BOOL;
  613. end;
  614. {$EXTERNALSYM _WKSTA_INFO_1058}
  615. WKSTA_INFO_1058 = _WKSTA_INFO_1058;
  616. {$EXTERNALSYM WKSTA_INFO_1058}
  617. TWkstaInfo1058 = WKSTA_INFO_1058;
  618. PWkstaInfo1058 = PWKSTA_INFO_1058;
  619. LPWKSTA_INFO_1059 = ^WKSTA_INFO_1059;
  620. {$EXTERNALSYM LPWKSTA_INFO_1059}
  621. PWKSTA_INFO_1059 = ^WKSTA_INFO_1059;
  622. {$EXTERNALSYM PWKSTA_INFO_1059}
  623. _WKSTA_INFO_1059 = record
  624. wki1059_buf_read_only_files: BOOL;
  625. end;
  626. {$EXTERNALSYM _WKSTA_INFO_1059}
  627. WKSTA_INFO_1059 = _WKSTA_INFO_1059;
  628. {$EXTERNALSYM WKSTA_INFO_1059}
  629. TWkstaInfo1059 = WKSTA_INFO_1059;
  630. PWkstaInfo1059 = PWKSTA_INFO_1059;
  631. LPWKSTA_INFO_1060 = ^WKSTA_INFO_1060;
  632. {$EXTERNALSYM LPWKSTA_INFO_1060}
  633. PWKSTA_INFO_1060 = ^WKSTA_INFO_1060;
  634. {$EXTERNALSYM PWKSTA_INFO_1060}
  635. _WKSTA_INFO_1060 = record
  636. wki1060_force_core_create_mode: BOOL;
  637. end;
  638. {$EXTERNALSYM _WKSTA_INFO_1060}
  639. WKSTA_INFO_1060 = _WKSTA_INFO_1060;
  640. {$EXTERNALSYM WKSTA_INFO_1060}
  641. TWkstaInfo1060 = WKSTA_INFO_1060;
  642. PWkstaInfo1060 = PWKSTA_INFO_1060;
  643. LPWKSTA_INFO_1061 = ^WKSTA_INFO_1061;
  644. {$EXTERNALSYM LPWKSTA_INFO_1061}
  645. PWKSTA_INFO_1061 = ^WKSTA_INFO_1061;
  646. {$EXTERNALSYM PWKSTA_INFO_1061}
  647. _WKSTA_INFO_1061 = record
  648. wki1061_use_512_byte_max_transfer: BOOL;
  649. end;
  650. {$EXTERNALSYM _WKSTA_INFO_1061}
  651. WKSTA_INFO_1061 = _WKSTA_INFO_1061;
  652. {$EXTERNALSYM WKSTA_INFO_1061}
  653. TWkstaInfo1061 = WKSTA_INFO_1061;
  654. PWkstaInfo1061 = PWKSTA_INFO_1061;
  655. LPWKSTA_INFO_1062 = ^WKSTA_INFO_1062;
  656. {$EXTERNALSYM LPWKSTA_INFO_1062}
  657. PWKSTA_INFO_1062 = ^WKSTA_INFO_1062;
  658. {$EXTERNALSYM PWKSTA_INFO_1062}
  659. _WKSTA_INFO_1062 = record
  660. wki1062_read_ahead_throughput: DWORD;
  661. end;
  662. {$EXTERNALSYM _WKSTA_INFO_1062}
  663. WKSTA_INFO_1062 = _WKSTA_INFO_1062;
  664. {$EXTERNALSYM WKSTA_INFO_1062}
  665. TWkstaInfo1062 = WKSTA_INFO_1062;
  666. PWkstaInfo1062 = PWKSTA_INFO_1062;
  667. //
  668. // NetWkstaUserGetInfo (local only) and NetWkstaUserEnum -
  669. // no access restrictions.
  670. //
  671. LPWKSTA_USER_INFO_0 = ^WKSTA_USER_INFO_0;
  672. {$EXTERNALSYM LPWKSTA_USER_INFO_0}
  673. PWKSTA_USER_INFO_0 = ^WKSTA_USER_INFO_0;
  674. {$EXTERNALSYM PWKSTA_USER_INFO_0}
  675. _WKSTA_USER_INFO_0 = record
  676. wkui0_username: LMSTR;
  677. end;
  678. {$EXTERNALSYM _WKSTA_USER_INFO_0}
  679. WKSTA_USER_INFO_0 = _WKSTA_USER_INFO_0;
  680. {$EXTERNALSYM WKSTA_USER_INFO_0}
  681. TWkstaUserInfo0 = WKSTA_USER_INFO_0;
  682. PWkstaUserInfo0 = PWKSTA_USER_INFO_0;
  683. //
  684. // NetWkstaUserGetInfo (local only) and NetWkstaUserEnum -
  685. // no access restrictions.
  686. //
  687. LPWKSTA_USER_INFO_1 = ^WKSTA_USER_INFO_1;
  688. {$EXTERNALSYM LPWKSTA_USER_INFO_1}
  689. PWKSTA_USER_INFO_1 = ^WKSTA_USER_INFO_1;
  690. {$EXTERNALSYM PWKSTA_USER_INFO_1}
  691. _WKSTA_USER_INFO_1 = record
  692. wkui1_username: LMSTR;
  693. wkui1_logon_domain: LMSTR;
  694. wkui1_oth_domains: LMSTR;
  695. wkui1_logon_server: LMSTR;
  696. end;
  697. {$EXTERNALSYM _WKSTA_USER_INFO_1}
  698. WKSTA_USER_INFO_1 = _WKSTA_USER_INFO_1;
  699. {$EXTERNALSYM WKSTA_USER_INFO_1}
  700. TWkstaUserInfo1 = WKSTA_USER_INFO_1;
  701. PWkstaUserInfo1 = PWKSTA_USER_INFO_1;
  702. //
  703. // NetWkstaUserSetInfo - local access.
  704. //
  705. LPWKSTA_USER_INFO_1101 = ^WKSTA_USER_INFO_1101;
  706. {$EXTERNALSYM LPWKSTA_USER_INFO_1101}
  707. PWKSTA_USER_INFO_1101 = ^WKSTA_USER_INFO_1101;
  708. {$EXTERNALSYM PWKSTA_USER_INFO_1101}
  709. _WKSTA_USER_INFO_1101 = record
  710. wkui1101_oth_domains: LMSTR;
  711. end;
  712. {$EXTERNALSYM _WKSTA_USER_INFO_1101}
  713. WKSTA_USER_INFO_1101 = _WKSTA_USER_INFO_1101;
  714. {$EXTERNALSYM WKSTA_USER_INFO_1101}
  715. TWkstaUserInfo1101 = WKSTA_USER_INFO_1101;
  716. PWkstaUserInfo1101 = PWKSTA_USER_INFO_1101;
  717. //
  718. // NetWkstaTransportAdd - admin access
  719. //
  720. LPWKSTA_TRANSPORT_INFO_0 = ^WKSTA_TRANSPORT_INFO_0;
  721. {$EXTERNALSYM LPWKSTA_TRANSPORT_INFO_0}
  722. PWKSTA_TRANSPORT_INFO_0 = ^WKSTA_TRANSPORT_INFO_0;
  723. {$EXTERNALSYM PWKSTA_TRANSPORT_INFO_0}
  724. _WKSTA_TRANSPORT_INFO_0 = record
  725. wkti0_quality_of_service: DWORD;
  726. wkti0_number_of_vcs: DWORD;
  727. wkti0_transport_name: LMSTR;
  728. wkti0_transport_address: LMSTR;
  729. wkti0_wan_ish: BOOL;
  730. end;
  731. {$EXTERNALSYM _WKSTA_TRANSPORT_INFO_0}
  732. WKSTA_TRANSPORT_INFO_0 = _WKSTA_TRANSPORT_INFO_0;
  733. {$EXTERNALSYM WKSTA_TRANSPORT_INFO_0}
  734. TWkstaTransportInfo0 = WKSTA_TRANSPORT_INFO_0;
  735. PWkstaTransportInfo0 = PWKSTA_TRANSPORT_INFO_0;
  736. //
  737. // Special Values and Constants
  738. //
  739. //
  740. // Identifiers for use as NetWkstaSetInfo parmnum parameter
  741. //
  742. //
  743. // One of these values indicates the parameter within an information
  744. // structure that is invalid when ERROR_INVALID_PARAMETER is returned by
  745. // NetWkstaSetInfo.
  746. //
  747. const
  748. WKSTA_PLATFORM_ID_PARMNUM = 100;
  749. {$EXTERNALSYM WKSTA_PLATFORM_ID_PARMNUM}
  750. WKSTA_COMPUTERNAME_PARMNUM = 1;
  751. {$EXTERNALSYM WKSTA_COMPUTERNAME_PARMNUM}
  752. WKSTA_LANGROUP_PARMNUM = 2;
  753. {$EXTERNALSYM WKSTA_LANGROUP_PARMNUM}
  754. WKSTA_VER_MAJOR_PARMNUM = 4;
  755. {$EXTERNALSYM WKSTA_VER_MAJOR_PARMNUM}
  756. WKSTA_VER_MINOR_PARMNUM = 5;
  757. {$EXTERNALSYM WKSTA_VER_MINOR_PARMNUM}
  758. WKSTA_LOGGED_ON_USERS_PARMNUM = 6;
  759. {$EXTERNALSYM WKSTA_LOGGED_ON_USERS_PARMNUM}
  760. WKSTA_LANROOT_PARMNUM = 7;
  761. {$EXTERNALSYM WKSTA_LANROOT_PARMNUM}
  762. WKSTA_LOGON_DOMAIN_PARMNUM = 8;
  763. {$EXTERNALSYM WKSTA_LOGON_DOMAIN_PARMNUM}
  764. WKSTA_LOGON_SERVER_PARMNUM = 9;
  765. {$EXTERNALSYM WKSTA_LOGON_SERVER_PARMNUM}
  766. WKSTA_CHARWAIT_PARMNUM = 10; // Supported by down-level.
  767. {$EXTERNALSYM WKSTA_CHARWAIT_PARMNUM}
  768. WKSTA_CHARTIME_PARMNUM = 11; // Supported by down-level.
  769. {$EXTERNALSYM WKSTA_CHARTIME_PARMNUM}
  770. WKSTA_CHARCOUNT_PARMNUM = 12; // Supported by down-level.
  771. {$EXTERNALSYM WKSTA_CHARCOUNT_PARMNUM}
  772. WKSTA_KEEPCONN_PARMNUM = 13;
  773. {$EXTERNALSYM WKSTA_KEEPCONN_PARMNUM}
  774. WKSTA_KEEPSEARCH_PARMNUM = 14;
  775. {$EXTERNALSYM WKSTA_KEEPSEARCH_PARMNUM}
  776. WKSTA_MAXCMDS_PARMNUM = 15;
  777. {$EXTERNALSYM WKSTA_MAXCMDS_PARMNUM}
  778. WKSTA_NUMWORKBUF_PARMNUM = 16;
  779. {$EXTERNALSYM WKSTA_NUMWORKBUF_PARMNUM}
  780. WKSTA_MAXWRKCACHE_PARMNUM = 17;
  781. {$EXTERNALSYM WKSTA_MAXWRKCACHE_PARMNUM}
  782. WKSTA_SESSTIMEOUT_PARMNUM = 18;
  783. {$EXTERNALSYM WKSTA_SESSTIMEOUT_PARMNUM}
  784. WKSTA_SIZERROR_PARMNUM = 19;
  785. {$EXTERNALSYM WKSTA_SIZERROR_PARMNUM}
  786. WKSTA_NUMALERTS_PARMNUM = 20;
  787. {$EXTERNALSYM WKSTA_NUMALERTS_PARMNUM}
  788. WKSTA_NUMSERVICES_PARMNUM = 21;
  789. {$EXTERNALSYM WKSTA_NUMSERVICES_PARMNUM}
  790. WKSTA_NUMCHARBUF_PARMNUM = 22;
  791. {$EXTERNALSYM WKSTA_NUMCHARBUF_PARMNUM}
  792. WKSTA_SIZCHARBUF_PARMNUM = 23;
  793. {$EXTERNALSYM WKSTA_SIZCHARBUF_PARMNUM}
  794. WKSTA_ERRLOGSZ_PARMNUM = 27; // Supported by down-level.
  795. {$EXTERNALSYM WKSTA_ERRLOGSZ_PARMNUM}
  796. WKSTA_PRINTBUFTIME_PARMNUM = 28; // Supported by down-level.
  797. {$EXTERNALSYM WKSTA_PRINTBUFTIME_PARMNUM}
  798. WKSTA_SIZWORKBUF_PARMNUM = 29;
  799. {$EXTERNALSYM WKSTA_SIZWORKBUF_PARMNUM}
  800. WKSTA_MAILSLOTS_PARMNUM = 30;
  801. {$EXTERNALSYM WKSTA_MAILSLOTS_PARMNUM}
  802. WKSTA_NUMDGRAMBUF_PARMNUM = 31;
  803. {$EXTERNALSYM WKSTA_NUMDGRAMBUF_PARMNUM}
  804. WKSTA_WRKHEURISTICS_PARMNUM = 32; // Supported by down-level.
  805. {$EXTERNALSYM WKSTA_WRKHEURISTICS_PARMNUM}
  806. WKSTA_MAXTHREADS_PARMNUM = 33;
  807. {$EXTERNALSYM WKSTA_MAXTHREADS_PARMNUM}
  808. WKSTA_LOCKQUOTA_PARMNUM = 41;
  809. {$EXTERNALSYM WKSTA_LOCKQUOTA_PARMNUM}
  810. WKSTA_LOCKINCREMENT_PARMNUM = 42;
  811. {$EXTERNALSYM WKSTA_LOCKINCREMENT_PARMNUM}
  812. WKSTA_LOCKMAXIMUM_PARMNUM = 43;
  813. {$EXTERNALSYM WKSTA_LOCKMAXIMUM_PARMNUM}
  814. WKSTA_PIPEINCREMENT_PARMNUM = 44;
  815. {$EXTERNALSYM WKSTA_PIPEINCREMENT_PARMNUM}
  816. WKSTA_PIPEMAXIMUM_PARMNUM = 45;
  817. {$EXTERNALSYM WKSTA_PIPEMAXIMUM_PARMNUM}
  818. WKSTA_DORMANTFILELIMIT_PARMNUM = 46;
  819. {$EXTERNALSYM WKSTA_DORMANTFILELIMIT_PARMNUM}
  820. WKSTA_CACHEFILETIMEOUT_PARMNUM = 47;
  821. {$EXTERNALSYM WKSTA_CACHEFILETIMEOUT_PARMNUM}
  822. WKSTA_USEOPPORTUNISTICLOCKING_PARMNUM = 48;
  823. {$EXTERNALSYM WKSTA_USEOPPORTUNISTICLOCKING_PARMNUM}
  824. WKSTA_USEUNLOCKBEHIND_PARMNUM = 49;
  825. {$EXTERNALSYM WKSTA_USEUNLOCKBEHIND_PARMNUM}
  826. WKSTA_USECLOSEBEHIND_PARMNUM = 50;
  827. {$EXTERNALSYM WKSTA_USECLOSEBEHIND_PARMNUM}
  828. WKSTA_BUFFERNAMEDPIPES_PARMNUM = 51;
  829. {$EXTERNALSYM WKSTA_BUFFERNAMEDPIPES_PARMNUM}
  830. WKSTA_USELOCKANDREADANDUNLOCK_PARMNUM = 52;
  831. {$EXTERNALSYM WKSTA_USELOCKANDREADANDUNLOCK_PARMNUM}
  832. WKSTA_UTILIZENTCACHING_PARMNUM = 53;
  833. {$EXTERNALSYM WKSTA_UTILIZENTCACHING_PARMNUM}
  834. WKSTA_USERAWREAD_PARMNUM = 54;
  835. {$EXTERNALSYM WKSTA_USERAWREAD_PARMNUM}
  836. WKSTA_USERAWWRITE_PARMNUM = 55;
  837. {$EXTERNALSYM WKSTA_USERAWWRITE_PARMNUM}
  838. WKSTA_USEWRITERAWWITHDATA_PARMNUM = 56;
  839. {$EXTERNALSYM WKSTA_USEWRITERAWWITHDATA_PARMNUM}
  840. WKSTA_USEENCRYPTION_PARMNUM = 57;
  841. {$EXTERNALSYM WKSTA_USEENCRYPTION_PARMNUM}
  842. WKSTA_BUFFILESWITHDENYWRITE_PARMNUM = 58;
  843. {$EXTERNALSYM WKSTA_BUFFILESWITHDENYWRITE_PARMNUM}
  844. WKSTA_BUFFERREADONLYFILES_PARMNUM = 59;
  845. {$EXTERNALSYM WKSTA_BUFFERREADONLYFILES_PARMNUM}
  846. WKSTA_FORCECORECREATEMODE_PARMNUM = 60;
  847. {$EXTERNALSYM WKSTA_FORCECORECREATEMODE_PARMNUM}
  848. WKSTA_USE512BYTESMAXTRANSFER_PARMNUM = 61;
  849. {$EXTERNALSYM WKSTA_USE512BYTESMAXTRANSFER_PARMNUM}
  850. WKSTA_READAHEADTHRUPUT_PARMNUM = 62;
  851. {$EXTERNALSYM WKSTA_READAHEADTHRUPUT_PARMNUM}
  852. //
  853. // One of these values indicates the parameter within an information
  854. // structure that is invalid when ERROR_INVALID_PARAMETER is returned by
  855. // NetWkstaUserSetInfo.
  856. //
  857. WKSTA_OTH_DOMAINS_PARMNUM = 101;
  858. {$EXTERNALSYM WKSTA_OTH_DOMAINS_PARMNUM}
  859. //
  860. // One of these values indicates the parameter within an information
  861. // structure that is invalid when ERROR_INVALID_PARAMETER is returned by
  862. // NetWkstaTransportAdd.
  863. //
  864. TRANSPORT_QUALITYOFSERVICE_PARMNUM = 201;
  865. {$EXTERNALSYM TRANSPORT_QUALITYOFSERVICE_PARMNUM}
  866. TRANSPORT_NAME_PARMNUM = 202;
  867. {$EXTERNALSYM TRANSPORT_NAME_PARMNUM}
  868. implementation
  869. {$IFDEF DYNAMIC_LINK}
  870. var
  871. _NetWkstaGetInfo: Pointer;
  872. function NetWkstaGetInfo;
  873. begin
  874. GetProcedureAddress(_NetWkstaGetInfo, netapi32, 'NetWkstaGetInfo');
  875. asm
  876. MOV ESP, EBP
  877. POP EBP
  878. JMP [_NetWkstaGetInfo]
  879. end;
  880. end;
  881. var
  882. _NetWkstaSetInfo: Pointer;
  883. function NetWkstaSetInfo;
  884. begin
  885. GetProcedureAddress(_NetWkstaSetInfo, netapi32, 'NetWkstaSetInfo');
  886. asm
  887. MOV ESP, EBP
  888. POP EBP
  889. JMP [_NetWkstaSetInfo]
  890. end;
  891. end;
  892. var
  893. _NetWkstaUserGetInfo: Pointer;
  894. function NetWkstaUserGetInfo;
  895. begin
  896. GetProcedureAddress(_NetWkstaUserGetInfo, netapi32, 'NetWkstaUserGetInfo');
  897. asm
  898. MOV ESP, EBP
  899. POP EBP
  900. JMP [_NetWkstaUserGetInfo]
  901. end;
  902. end;
  903. var
  904. _NetWkstaUserSetInfo: Pointer;
  905. function NetWkstaUserSetInfo;
  906. begin
  907. GetProcedureAddress(_NetWkstaUserSetInfo, netapi32, 'NetWkstaUserSetInfo');
  908. asm
  909. MOV ESP, EBP
  910. POP EBP
  911. JMP [_NetWkstaUserSetInfo]
  912. end;
  913. end;
  914. var
  915. _NetWkstaUserEnum: Pointer;
  916. function NetWkstaUserEnum;
  917. begin
  918. GetProcedureAddress(_NetWkstaUserEnum, netapi32, 'NetWkstaUserEnum');
  919. asm
  920. MOV ESP, EBP
  921. POP EBP
  922. JMP [_NetWkstaUserEnum]
  923. end;
  924. end;
  925. var
  926. _NetWkstaTransportAdd: Pointer;
  927. function NetWkstaTransportAdd;
  928. begin
  929. GetProcedureAddress(_NetWkstaTransportAdd, netapi32, 'NetWkstaTransportAdd');
  930. asm
  931. MOV ESP, EBP
  932. POP EBP
  933. JMP [_NetWkstaTransportAdd]
  934. end;
  935. end;
  936. var
  937. _NetWkstaTransportDel: Pointer;
  938. function NetWkstaTransportDel;
  939. begin
  940. GetProcedureAddress(_NetWkstaTransportDel, netapi32, 'NetWkstaTransportDel');
  941. asm
  942. MOV ESP, EBP
  943. POP EBP
  944. JMP [_NetWkstaTransportDel]
  945. end;
  946. end;
  947. var
  948. _NetWkstaTransportEnum: Pointer;
  949. function NetWkstaTransportEnum;
  950. begin
  951. GetProcedureAddress(_NetWkstaTransportEnum, netapi32, 'NetWkstaTransportEnum');
  952. asm
  953. MOV ESP, EBP
  954. POP EBP
  955. JMP [_NetWkstaTransportEnum]
  956. end;
  957. end;
  958. {$ELSE}
  959. function NetWkstaGetInfo; external netapi32 name 'NetWkstaGetInfo';
  960. function NetWkstaSetInfo; external netapi32 name 'NetWkstaSetInfo';
  961. function NetWkstaUserGetInfo; external netapi32 name 'NetWkstaUserGetInfo';
  962. function NetWkstaUserSetInfo; external netapi32 name 'NetWkstaUserSetInfo';
  963. function NetWkstaUserEnum; external netapi32 name 'NetWkstaUserEnum';
  964. function NetWkstaTransportAdd; external netapi32 name 'NetWkstaTransportAdd';
  965. function NetWkstaTransportDel; external netapi32 name 'NetWkstaTransportDel';
  966. function NetWkstaTransportEnum; external netapi32 name 'NetWkstaTransportEnum';
  967. {$ENDIF DYNAMIC_LINK}
  968. end.