JwaLmWkSta.pas
上传用户:davidchvip
上传日期:2009-07-28
资源大小:1749k
文件大小:35k
源码类别:

Windows编程

开发平台:

Delphi

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