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