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

Windows编程

开发平台:

Delphi

  1.   ALERT_MESSAGE_EVENT         = 'MESSAGE';
  2.   {$EXTERNALSYM ALERT_ERRORLOG_EVENT}
  3.   ALERT_ERRORLOG_EVENT        = 'ERRORLOG';
  4.   {$EXTERNALSYM ALERT_ADMIN_EVENT}
  5.   ALERT_ADMIN_EVENT           = 'ADMIN';
  6.   {$EXTERNALSYM ALERT_USER_EVENT}
  7.   ALERT_USER_EVENT            = 'USER';
  8. //      Bitmap masks for prjob_status field of PRINTJOB.
  9. // 2-7 bits also used in device status
  10.   {$EXTERNALSYM PRJOB_QSTATUS}
  11.   PRJOB_QSTATUS       = $3;         // Bits 0,1
  12.   {$EXTERNALSYM PRJOB_DEVSTATUS}
  13.   PRJOB_DEVSTATUS     = $1fc;       // 2-8 bits
  14.   {$EXTERNALSYM PRJOB_COMPLETE}
  15.   PRJOB_COMPLETE      = $4;         // Bit 2
  16.   {$EXTERNALSYM PRJOB_INTERV}
  17.   PRJOB_INTERV        = $8;         // Bit 3
  18.   {$EXTERNALSYM PRJOB_ERROR}
  19.   PRJOB_ERROR         = $10;        // Bit 4
  20.   {$EXTERNALSYM PRJOB_DESTOFFLINE}
  21.   PRJOB_DESTOFFLINE   = $20;        // Bit 5
  22.   {$EXTERNALSYM PRJOB_DESTPAUSED}
  23.   PRJOB_DESTPAUSED    = $40;        // Bit 6
  24.   {$EXTERNALSYM PRJOB_NOTIFY}
  25.   PRJOB_NOTIFY        = $80;        // BIT 7
  26.   {$EXTERNALSYM PRJOB_DESTNOPAPER}
  27.   PRJOB_DESTNOPAPER   = $100;       // BIT 8
  28.   {$EXTERNALSYM PRJOB_DELETED}
  29.   PRJOB_DELETED       = $8000;      // BIT 15
  30. //      Values of PRJOB_QSTATUS bits in prjob_status field of PRINTJOB.
  31.   {$EXTERNALSYM PRJOB_QS_QUEUED}
  32.   PRJOB_QS_QUEUED                 = 0;
  33.   {$EXTERNALSYM PRJOB_QS_PAUSED}
  34.   PRJOB_QS_PAUSED                 = 1;
  35.   {$EXTERNALSYM PRJOB_QS_SPOOLING}
  36.   PRJOB_QS_SPOOLING               = 2;
  37.   {$EXTERNALSYM PRJOB_QS_PRINTING}
  38.   PRJOB_QS_PRINTING               = 3;
  39. // Translated from LMSHARE.H
  40. // Function Prototypes - Share
  41. function NetShareAdd(servername: LPTSTR; level: DWORD; const buf: Pointer;
  42.   parm_err: PDWORD): NET_API_STATUS; stdcall;
  43. {$EXTERNALSYM NetShareAdd}
  44. function NetShareEnum(servername: LPTSTR; level: DWORD; var butptr: Pointer;
  45.   prefmaxlen: DWORD; var entriesread: DWORD; var totalentries: DWORD;
  46.   resume_handle: PDWORD): NET_API_STATUS; stdcall;
  47. {$EXTERNALSYM NetShareEnum}
  48. function NetShareEnumSticky(servername: LPTSTR; level: DWORD; var butptr: Pointer;
  49.   prefmaxlen: DWORD; var entriesread: DWORD; var totalentries: DWORD;
  50.   resume_handle: PDWORD): NET_API_STATUS; stdcall;
  51. {$EXTERNALSYM NetShareEnumSticky}
  52. function NetShareGetInfo(servername: LPWSTR; netname: LPWSTR; level: DWORD;
  53.   var butptr: Pointer): NET_API_STATUS; stdcall;
  54. {$EXTERNALSYM NetShareGetInfo}
  55. function NetShareSetInfo(servername: LPTSTR; netname: LPTSTR; leve: DWORD;
  56.   const buf: Pointer; parm_err: PDWORD): NET_API_STATUS; stdcall;
  57. {$EXTERNALSYM NetShareSetInfo}
  58. function NetShareDel(servername: LPTSTR; netname: LPTSTR;
  59.   reserved: DWORD): NET_API_STATUS; stdcall;
  60. {$EXTERNALSYM NetShareDel}
  61. function NetShareDelSticky(servername: LPTSTR; netname: LPTSTR;
  62.   reserved: DWORD): NET_API_STATUS; stdcall;
  63. {$EXTERNALSYM NetShareDelSticky}
  64. function NetShareCheck(servername: LPTSTR; device: LPTSTR;
  65.   var _type: DWORD): NET_API_STATUS; stdcall;
  66. {$EXTERNALSYM NetShareCheck}
  67. // Data Structures - Share
  68. type
  69.   PShareInfo0 = ^TShareInfo0;
  70.   {$EXTERNALSYM _SHARE_INFO_0}
  71.   _SHARE_INFO_0 = record
  72.     shi0_netname: LPTSTR;
  73.   end;
  74.   TShareInfo0 = _SHARE_INFO_0;
  75.   {$EXTERNALSYM SHARE_INFO_0}
  76.   SHARE_INFO_0 = _SHARE_INFO_0;
  77.   PShareInfo1 = ^TShareInfo1;
  78.   {$EXTERNALSYM _SHARE_INFO_1}
  79.   _SHARE_INFO_1 = record
  80.     shi1_netname: LPTSTR;
  81.     shi1_type: DWORD;
  82.     shi1_remark: LPTSTR;
  83.   end;
  84.   TShareInfo1 = _SHARE_INFO_1;
  85.   {$EXTERNALSYM SHARE_INFO_1}
  86.   SHARE_INFO_1 = _SHARE_INFO_1;
  87.   PShareInfo2 = ^TShareInfo2;
  88.   {$EXTERNALSYM _SHARE_INFO_2}
  89.   _SHARE_INFO_2 = record
  90.     shi2_netname: LPTSTR;
  91.     shi2_type: DWORD;
  92.     shi2_remark: LPTSTR;
  93.     shi2_permissions: DWORD;
  94.     shi2_max_uses: DWORD;
  95.     shi2_current_uses: DWORD;
  96.     shi2_path: LPTSTR;
  97.     shi2_passwd: LPTSTR;
  98.   end;
  99.   TShareInfo2 = _SHARE_INFO_2;
  100.   {$EXTERNALSYM SHARE_INFO_2}
  101.   SHARE_INFO_2 = _SHARE_INFO_2;
  102.   PShareInfo501 = ^TShareInfo501;
  103.   {$EXTERNALSYM _SHARE_INFO_501}
  104.   _SHARE_INFO_501 = record
  105.     shi501_netname: LPTSTR;
  106.     shi501_type: DWORD;
  107.     shi501_remark: LPTSTR;
  108.     shi501_flags: DWORD;
  109.   end;
  110.   TShareInfo501 = _SHARE_INFO_501;
  111.   {$EXTERNALSYM SHARE_INFO_501}
  112.   SHARE_INFO_501 = _SHARE_INFO_501;
  113.   PShareInfo502 = ^TShareInfo502;
  114.   {$EXTERNALSYM _SHARE_INFO_502}
  115.   _SHARE_INFO_502 = record
  116.     shi502_netname: LPTSTR;
  117.     shi502_type: DWORD;
  118.     shi502_remark: LPTSTR;
  119.     shi502_permissions: DWORD;
  120.     shi502_max_uses: DWORD;
  121.     shi502_current_uses: DWORD;
  122.     shi502_path: LPTSTR;
  123.     shi502_passwd: LPTSTR;
  124.     shi502_reserved: DWORD;
  125.     shi502_security_descriptor: PSECURITY_DESCRIPTOR;
  126.   end;
  127.   TShareInfo502 = _SHARE_INFO_502;
  128.   {$EXTERNALSYM SHARE_INFO_502}
  129.   SHARE_INFO_502 = _SHARE_INFO_502;
  130.   PShareInfo1004 = ^TShareInfo1004;
  131.   {$EXTERNALSYM _SHARE_INFO_1004}
  132.   _SHARE_INFO_1004 = record
  133.     shi1004_remark: LPTSTR;
  134.   end;
  135.   TShareInfo1004 = _SHARE_INFO_1004;
  136.   {$EXTERNALSYM SHARE_INFO_1004}
  137.   SHARE_INFO_1004 = _SHARE_INFO_1004;
  138.   PShareInfo1005 = ^TShareInfo1005;
  139.   {$EXTERNALSYM _SHARE_INFO_1005}
  140.   _SHARE_INFO_1005 = record
  141.     shi1005_flags: DWORD;
  142.   end;
  143.   TShareInfo1005 = _SHARE_INFO_1005;
  144.   {$EXTERNALSYM SHARE_INFO_1005}
  145.   SHARE_INFO_1005 = _SHARE_INFO_1005;
  146.   PShareInfo1006 = ^TShareInfo1006;
  147.   {$EXTERNALSYM _SHARE_INFO_1006}
  148.   _SHARE_INFO_1006 = record
  149.     shi1006_max_uses: DWORD;
  150.   end;
  151.   TShareInfo1006 = _SHARE_INFO_1006;
  152.   {$EXTERNALSYM SHARE_INFO_1006}
  153.   SHARE_INFO_1006 = _SHARE_INFO_1006;
  154.   PShareInfo1501 = ^TShareInfo1501;
  155.   {$EXTERNALSYM _SHARE_INFO_1501}
  156.   _SHARE_INFO_1501 = record
  157.     shi1501_reserved: DWORD;
  158.     shi1501_security_descriptor: PSECURITY_DESCRIPTOR;
  159.   end;
  160.   TShareInfo1501 = _SHARE_INFO_1501;
  161.   {$EXTERNALSYM SHARE_INFO_1501}
  162.   SHARE_INFO_1501 = _SHARE_INFO_1501;
  163. // Values for parm_err parameter.
  164. const
  165.   {$EXTERNALSYM SHARE_NETNAME_PARMNUM}
  166.   SHARE_NETNAME_PARMNUM = 1;
  167.   {$EXTERNALSYM SHARE_TYPE_PARMNUM}
  168.   SHARE_TYPE_PARMNUM = 3;
  169.   {$EXTERNALSYM SHARE_REMARK_PARMNUM}
  170.   SHARE_REMARK_PARMNUM = 4;
  171.   {$EXTERNALSYM SHARE_PERMISSIONS_PARMNUM}
  172.   SHARE_PERMISSIONS_PARMNUM = 5;
  173.   {$EXTERNALSYM SHARE_MAX_USES_PARMNUM}
  174.   SHARE_MAX_USES_PARMNUM = 6;
  175.   {$EXTERNALSYM SHARE_CURRENT_USES_PARMNUM}
  176.   SHARE_CURRENT_USES_PARMNUM = 7;
  177.   {$EXTERNALSYM SHARE_PATH_PARMNUM}
  178.   SHARE_PATH_PARMNUM = 8;
  179.   {$EXTERNALSYM SHARE_PASSWD_PARMNUM}
  180.   SHARE_PASSWD_PARMNUM = 9;
  181.   {$EXTERNALSYM SHARE_FILE_SD_PARMNUM}
  182.   SHARE_FILE_SD_PARMNUM = 501;
  183. // Single-field infolevels for NetShareSetInfo.
  184.   {$EXTERNALSYM SHARE_REMARK_INFOLEVEL}
  185.   SHARE_REMARK_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SHARE_REMARK_PARMNUM);
  186.   {$EXTERNALSYM SHARE_MAX_USES_INFOLEVEL}
  187.   SHARE_MAX_USES_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SHARE_MAX_USES_PARMNUM);
  188.   {$EXTERNALSYM SHARE_FILE_SD_INFOLEVEL}
  189.   SHARE_FILE_SD_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SHARE_FILE_SD_PARMNUM);
  190.   {$EXTERNALSYM SHI1_NUM_ELEMENTS}
  191.   SHI1_NUM_ELEMENTS = 4;
  192.   {$EXTERNALSYM SHI2_NUM_ELEMENTS}
  193.   SHI2_NUM_ELEMENTS = 10;
  194. // Share types (shi1_type and shi2_type fields).
  195.   {$EXTERNALSYM STYPE_DISKTREE}
  196.   STYPE_DISKTREE = 0;
  197.   {$EXTERNALSYM STYPE_PRINTQ}
  198.   STYPE_PRINTQ = 1;
  199.   {$EXTERNALSYM STYPE_DEVICE}
  200.   STYPE_DEVICE = 2;
  201.   {$EXTERNALSYM STYPE_IPC}
  202.   STYPE_IPC = 3;
  203.   {$EXTERNALSYM STYPE_SPECIAL}
  204.   STYPE_SPECIAL = $80000000;
  205.   {$EXTERNALSYM SHI_USES_UNLIMITED}
  206.   SHI_USES_UNLIMITED = DWORD(-1);
  207. // Flags values for the 501 and 1005 levels
  208.   {$EXTERNALSYM SHI1005_FLAGS_DFS}
  209.   SHI1005_FLAGS_DFS      = $01;        // Share is in the DFS
  210.   {$EXTERNALSYM SHI1005_FLAGS_DFS_ROOT}
  211.   SHI1005_FLAGS_DFS_ROOT = $02;        // Share is root of DFS
  212.   {$EXTERNALSYM CSC_MASK}
  213.   CSC_MASK               = $30;    // Used to mask off the following states
  214.   {$EXTERNALSYM CSC_CACHE_MANUAL_REINT}
  215.   CSC_CACHE_MANUAL_REINT = $00;    // No automatic file by file reintegration
  216.   {$EXTERNALSYM CSC_CACHE_AUTO_REINT}
  217.   CSC_CACHE_AUTO_REINT   = $10;    // File by file reintegration is OK
  218.   {$EXTERNALSYM CSC_CACHE_VDO}
  219.   CSC_CACHE_VDO          = $20;    // no need to flow opens
  220.   {$EXTERNALSYM CSC_CACHE_NONE}
  221.   CSC_CACHE_NONE         = $30;    // no CSC for this share
  222. // The subset of 1005 infolevel flags that can be set via the API
  223.   {$EXTERNALSYM SHI1005_VALID_FLAGS_SET}
  224.   SHI1005_VALID_FLAGS_SET = CSC_MASK;
  225. // SESSION API
  226. // Function Prototypes Session
  227. function NetSessionEnum(servername: LPTSTR; UncClientName: LPTSTR;
  228.   username: LPTSTR; level: DWORD; var bufptr: Pointer; prefmaxlen: DWORD;
  229.   var entriesread: DWORD; var totalentries: DWORD;
  230.   resume_handle: PDWORD): NET_API_STATUS; stdcall;
  231. {$EXTERNALSYM NetSessionEnum}
  232. function NetSessionDel(servername: LPTSTR; UncClientName: LPTSTR;
  233.   username: LPTSTR): NET_API_STATUS; stdcall;
  234. {$EXTERNALSYM NetSessionDel}
  235. function NetSessionGetInfo(servername: LPTSTR; UncClientName: LPTSTR;
  236.   username: LPTSTR; level: DWORD; var bufptr: Pointer): NET_API_STATUS; stdcall;
  237. {$EXTERNALSYM NetSessionGetInfo}
  238. // Data Structures - Session
  239. type
  240.   PSessionInfo0 = ^TSessionInfo0;
  241.   {$EXTERNALSYM _SESSION_INFO_0}
  242.   _SESSION_INFO_0 = record
  243.     sesi0_cname: LPTSTR;                // client name (no backslashes)
  244.   end;
  245.   TSessionInfo0 = _SESSION_INFO_0;
  246.   {$EXTERNALSYM SESSION_INFO_0}
  247.   SESSION_INFO_0 = _SESSION_INFO_0;
  248.   PSessionInfo1 = ^TSessionInfo1;
  249.   {$EXTERNALSYM _SESSION_INFO_1}
  250.   _SESSION_INFO_1 = record
  251.     sesi1_cname: LPTSTR;                // client name (no backslashes)
  252.     sesi1_username: LPTSTR;
  253.     sesi1_num_opens: DWORD;
  254.     sesi1_time: DWORD;
  255.     sesi1_idle_time: DWORD;
  256.     sesi1_user_flags: DWORD;
  257.   end;
  258.   TSessionInfo1 = _SESSION_INFO_1;
  259.   {$EXTERNALSYM SESSION_INFO_1}
  260.   SESSION_INFO_1 = _SESSION_INFO_1;
  261.   PSessionInfo2 = ^TSessionInfo2;
  262.   {$EXTERNALSYM _SESSION_INFO_2}
  263.   _SESSION_INFO_2 = record
  264.     sesi2_cname: LPTSTR;                // client name (no backslashes)
  265.     sesi2_username: LPTSTR;
  266.     sesi2_num_opens: DWORD;
  267.     sesi2_time: DWORD;
  268.     sesi2_idle_time: DWORD;
  269.     sesi2_user_flags: DWORD;
  270.     sesi2_cltype_name: LPTSTR;
  271.   end;
  272.   TSessionInfo2 = _SESSION_INFO_2;
  273.   {$EXTERNALSYM SESSION_INFO_2}
  274.   SESSION_INFO_2 = _SESSION_INFO_2;
  275.   PSessionInfo10 = ^TSessionInfo10;
  276.   {$EXTERNALSYM _SESSION_INFO_10}
  277.   _SESSION_INFO_10 = record
  278.     sesi10_cname: LPTSTR;               // client name (no backslashes)
  279.     sesi10_username: LPTSTR;
  280.     sesi10_time: DWORD;
  281.     sesi10_idle_time: DWORD;
  282.   end;
  283.   TSessionInfo10 = _SESSION_INFO_10;
  284.   {$EXTERNALSYM SESSION_INFO_10}
  285.   SESSION_INFO_10 = _SESSION_INFO_10;
  286.   PSessionInfo502 = ^TSessionInfo502;
  287.   {$EXTERNALSYM _SESSION_INFO_502}
  288.   _SESSION_INFO_502 = record
  289.     sesi502_cname: LPTSTR;              // client name (no backslashes)
  290.     sesi502_username: LPTSTR;
  291.     sesi502_num_opens: DWORD;
  292.     sesi502_time: DWORD;
  293.     sesi502_idle_time: DWORD;
  294.     sesi502_user_flags: DWORD;
  295.     sesi502_cltype_name: LPTSTR;
  296.     sesi502_transport: LPTSTR;
  297.   end;
  298.   TSessionInfo502 = _SESSION_INFO_502;
  299.   {$EXTERNALSYM SESSION_INFO_502}
  300.   SESSION_INFO_502 = _SESSION_INFO_502;
  301. // Bits defined in sesi1_user_flags.
  302. const
  303.   {$EXTERNALSYM SESS_GUEST}
  304.   SESS_GUEST        = $00000001;  // session is logged on as a guest
  305.   {$EXTERNALSYM SESS_NOENCRYPTION}
  306.   SESS_NOENCRYPTION = $00000002;  // session is not using encryption
  307.   {$EXTERNALSYM SESI1_NUM_ELEMENTS}
  308.   SESI1_NUM_ELEMENTS = 8;
  309.   {$EXTERNALSYM SESI2_NUM_ELEMENTS}
  310.   SESI2_NUM_ELEMENTS = 9;
  311. // CONNECTION API
  312. // Function Prototypes - CONNECTION
  313. function NetConnectionEnum(servername: LPWSTR; qualifier: LPWSTR;
  314.   level: DWORD; var bufptr: Pointer; prefmaxlen: DWORD; var entriesread: DWORD;
  315.   var totalentries: DWORD; resume_handle: PDWORD): NET_API_STATUS; stdcall;
  316. {$EXTERNALSYM NetConnectionEnum}
  317. // Data Structures - CONNECTION
  318. type
  319.   PConnectionInfo0 = ^TConnectionInfo0;
  320.   {$EXTERNALSYM _CONNECTION_INFO_0}
  321.   _CONNECTION_INFO_0 = record
  322.     coni0_id: DWORD;
  323.   end;
  324.   TConnectionInfo0 = _CONNECTION_INFO_0;
  325.   {$EXTERNALSYM CONNECTION_INFO_0}
  326.   CONNECTION_INFO_0 = _CONNECTION_INFO_0;
  327.   PConnectionInfo1 = ^TConnectionInfo1;
  328.   {$EXTERNALSYM _CONNECTION_INFO_1}
  329.   _CONNECTION_INFO_1 = record
  330.     coni1_id: DWORD;
  331.     coni1_type: DWORD;
  332.     coni1_num_opens: DWORD;
  333.     coni1_num_users: DWORD;
  334.     coni1_time: DWORD;
  335.     coni1_username: LPWSTR;
  336.     coni1_netname: LPWSTR;
  337.   end;
  338.   TConnectionInfo1 = _CONNECTION_INFO_1;
  339.   {$EXTERNALSYM CONNECTION_INFO_1}
  340.   CONNECTION_INFO_1 = _CONNECTION_INFO_1;
  341. // FILE API
  342. // Function Prototypes - FILE
  343. function NetFileClose(servername: LPTSTR; fileid: DWORD): NET_API_STATUS; stdcall;
  344. {$EXTERNALSYM NetFileClose}
  345. function NetFileEnum(servername: LPTSTR; basepath: LPTSTR; username: LPTSTR;
  346.   level: DWORD; var bufptr: Pointer; prefmaxlen: DWORD; var entriesread: DWORD;
  347.   var totalentries: DWORD; resume_handle: PDWORD): NET_API_STATUS; stdcall;
  348. {$EXTERNALSYM NetFileEnum}
  349. function NetFileGetInfo(servername: LPTSTR; fileid: DWORD; level: DWORD;
  350.   bufptr: Pointer): NET_API_STATUS; stdcall;
  351. {$EXTERNALSYM NetFileGetInfo}
  352. // Data Structures - File
  353. // File APIs are available at information levels 2 & 3 only. Levels 0 &
  354. // 1 are not supported.
  355. type
  356.   PFileInfo2 = ^TFileInfo2;
  357.   {$EXTERNALSYM _FILE_INFO_2}
  358.   _FILE_INFO_2 = record
  359.     fi2_id: DWORD;
  360.   end;
  361.   TFileInfo2 = _FILE_INFO_2;
  362.   {$EXTERNALSYM FILE_INFO_2}
  363.   FILE_INFO_2 = _FILE_INFO_2;
  364.   PFileInfo3 = ^TFileInfo3;
  365.   {$EXTERNALSYM _FILE_INFO_3}
  366.   _FILE_INFO_3 = record
  367.     fi3_id: DWORD;
  368.     fi3_permissions: DWORD;
  369.     fi3_num_locks: DWORD;
  370.     fi3_pathname: LPTSTR;
  371.     fi3_username: LPTSTR;
  372.   end;
  373.   TFileInfo3 = _FILE_INFO_3;
  374.   {$EXTERNALSYM FILE_INFO_3}
  375.   FILE_INFO_3 = _FILE_INFO_3;
  376. // bit values for permissions
  377. const
  378.   {$EXTERNALSYM PERM_FILE_READ}
  379.   PERM_FILE_READ   = $01; // user has read access
  380.   {$EXTERNALSYM PERM_FILE_WRITE}
  381.   PERM_FILE_WRITE  = $02; // user has write access
  382.   {$EXTERNALSYM PERM_FILE_CREATE}
  383.   PERM_FILE_CREATE = $04; // user has create access
  384. // Translated from LMMSG.H
  385. {$EXTERNALSYM NetMessageNameAdd}
  386. function NetMessageNameAdd(servername, msgname: LPCWSTR): NET_API_STATUS; stdcall;
  387. {$EXTERNALSYM NetMessageNameEnum}
  388. function NetMessageNameEnum(servername: LPCWSTR; level: DWORD; bufptr: Pointer;
  389.   prefmaxlen: DWORD; var entriesread: DWORD; var totalentries: DWORD;
  390.   resume_handle: PDWORD): NET_API_STATUS; stdcall;
  391. {$EXTERNALSYM NetMessageNameGetInfo}
  392. function NetMessageNameGetInfo(servername: LPCWSTR; msgname: LPCWSTR;
  393.   level: DWORD; var bufptr: Pointer): NET_API_STATUS; stdcall;
  394. {$EXTERNALSYM NetMessageNameDel}
  395. function NetMessageNameDel(servername, msgname: LPCWSTR): NET_API_STATUS; stdcall;
  396. {$EXTERNALSYM NetMessageBufferSend}
  397. function NetMessageBufferSend(servername: LPCWSTR; msgname: LPCWSTR;
  398.   fromname: LPCWSTR; buf: Pointer; buflen: DWORD): NET_API_STATUS; stdcall;
  399. type
  400.   PMsgInfo0 = ^TMsgInfo0;
  401.   {$EXTERNALSYM _MSG_INFO_0}
  402.   _MSG_INFO_0 = record
  403.     msgi0_name: LPWSTR;
  404.   end;
  405.   TMsgInfo0 = _MSG_INFO_0;
  406.   {$EXTERNALSYM MSG_INFO_0}
  407.   MSG_INFO_0 = _MSG_INFO_0;
  408.   PMsgInfo1 = ^TMsgInfo1;
  409.   {$EXTERNALSYM _MSG_INFO_1}
  410.   _MSG_INFO_1 = record
  411.     msgi1_name: LPWSTR;
  412.     msgi1_forward_flag: DWORD;
  413.     msgi1_forward: LPWSTR;
  414.   end;
  415.   TMsgInfo1 = _MSG_INFO_1;
  416.   {$EXTERNALSYM MSG_INFO_1}
  417.   MSG_INFO_1 = _MSG_INFO_1;
  418. // Values for msgi1_forward_flag.
  419. const
  420.   {$EXTERNALSYM MSGNAME_NOT_FORWARDED}
  421.   MSGNAME_NOT_FORWARDED   = $00;    // Name not forwarded
  422.   {$EXTERNALSYM MSGNAME_FORWARDED_TO}
  423.   MSGNAME_FORWARDED_TO    = $04;    // Name forward to remote station
  424.   {$EXTERNALSYM MSGNAME_FORWARDED_FROM}
  425.   MSGNAME_FORWARDED_FROM  = $10;    // Name forwarded from remote station
  426. // Translated from LMREMUTL.H
  427. function NetRemoteTOD(UncServerName: LPCWSTR; BufferPtr: Pointer): NET_API_STATUS; stdcall;
  428. {$EXTERNALSYM NetRemoteTOD}
  429. function NetRemoteComputerSupports(UncServerName: LPCWSTR; OptionsWanted: DWORD;
  430.   var OptionsSupported: DWORD): NET_API_STATUS; stdcall;
  431. {$EXTERNALSYM NetRemoteComputerSupports}
  432. type
  433.   PTimeOfDayInfo = ^TTimeOfDayInfo;
  434.   _TIME_OF_DAY_INFO = record
  435.     tod_elapsedt: DWORD;
  436.     tod_msecs: DWORD;
  437.     tod_hours: DWORD;
  438.     tod_mins: DWORD;
  439.     tod_secs: DWORD;
  440.     tod_hunds: DWORD;
  441.     tod_timezone: LongInt;
  442.     tod_tinterval: DWORD;
  443.     tod_day: DWORD;
  444.     tod_month: DWORD;
  445.     tod_year: DWORD;
  446.     tod_weekday: DWORD;
  447.   end;
  448.   {$EXTERNALSYM _TIME_OF_DAY_INFO}
  449.   TTimeOfDayInfo = _TIME_OF_DAY_INFO;
  450.   TIME_OF_DAY_INFO = _TIME_OF_DAY_INFO;
  451.   {$EXTERNALSYM TIME_OF_DAY_INFO}
  452. // Mask bits for use with NetRemoteComputerSupports:
  453. const
  454.   SUPPORTS_REMOTE_ADMIN_PROTOCOL  = $00000002;
  455.   {EXTERNALSYM SUPPORTS_REMOTE_ADMIN_PROTOCOL}
  456.   SUPPORTS_RPC                    = $00000004;
  457.   {EXTERNALSYM SUPPORTS_RPC}
  458.   SUPPORTS_SAM_PROTOCOL           = $00000008;
  459.   {EXTERNALSYM SUPPORTS_SAM_PROTOCOL}
  460.   SUPPORTS_UNICODE                = $00000010;
  461.   {EXTERNALSYM SUPPORTS_UNICODE}
  462.   SUPPORTS_LOCAL                  = $00000020;
  463.   {EXTERNALSYM SUPPORTS_LOCAL}
  464.   SUPPORTS_ANY                    = $FFFFFFFF;
  465.   {EXTERNALSYM SUPPORTS_ANY}
  466. // Flag bits for RxRemoteApi:
  467.   NO_PERMISSION_REQUIRED  = $00000001;      // set if use NULL session;
  468.   {EXTERNALSYM NO_PERMISSION_REQUIRED}
  469.   ALLOCATE_RESPONSE       = $00000002;      // set if RxRemoteApi allocates response buffer;
  470.   {EXTERNALSYM ALLOCATE_RESPONSE}
  471.   USE_SPECIFIC_TRANSPORT  = $80000000;
  472.   {EXTERNALSYM USE_SPECIFIC_TRANSPORT}
  473. // Translated from LMREPL.H
  474. // Replicator Configuration APIs
  475. const
  476.   REPL_ROLE_EXPORT        = 1;
  477.   {$EXTERNALSYM REPL_ROLE_EXPORT}
  478.   REPL_ROLE_IMPORT        = 2;
  479.   {$EXTERNALSYM REPL_ROLE_IMPORT}
  480.   REPL_ROLE_BOTH          = 3;
  481.   {$EXTERNALSYM REPL_ROLE_BOTH}
  482.   REPL_INTERVAL_INFOLEVEL         = (PARMNUM_BASE_INFOLEVEL + 0);
  483.   {$EXTERNALSYM REPL_INTERVAL_INFOLEVEL}
  484.   REPL_PULSE_INFOLEVEL            = (PARMNUM_BASE_INFOLEVEL + 1);
  485.   {$EXTERNALSYM REPL_PULSE_INFOLEVEL}
  486.   REPL_GUARDTIME_INFOLEVEL        = (PARMNUM_BASE_INFOLEVEL + 2);
  487.   {$EXTERNALSYM REPL_GUARDTIME_INFOLEVEL}
  488.   REPL_RANDOM_INFOLEVEL           = (PARMNUM_BASE_INFOLEVEL + 3);
  489.   {$EXTERNALSYM REPL_RANDOM_INFOLEVEL}
  490. type
  491.   PReplInfo0 = ^TReplInfo0;
  492.   _REPL_INFO_0 = record
  493.     rp0_role: DWORD;
  494.     rp0_exportpath: LPWSTR;
  495.     rp0_exportlist: LPWSTR;
  496.     rp0_importpath: LPWSTR;
  497.     rp0_importlist: LPWSTR;
  498.     rp0_logonusername: LPWSTR;
  499.     rp0_interval: DWORD;
  500.     rp0_pulse: DWORD;
  501.     rp0_guardtime: DWORD;
  502.     rp0_random: DWORD;
  503.   end;
  504.   {$EXTERNALSYM _REPL_INFO_0}
  505.   TReplInfo0 = _REPL_INFO_0;
  506.   REPL_INFO_0 = _REPL_INFO_0;
  507.   {$EXTERNALSYM REPL_INFO_0}
  508.   PReplInfo1000 = ^TReplInfo1000;
  509.   _REPL_INFO_1000 = record
  510.     rp1000_interval: DWORD;
  511.   end;
  512.   {$EXTERNALSYM _REPL_INFO_1000}
  513.   TReplInfo1000 = _REPL_INFO_1000;
  514.   REPL_INFO_1000 = _REPL_INFO_1000;
  515.   {$EXTERNALSYM REPL_INFO_1000}
  516.   PReplInfo1001 = ^TReplInfo1001;
  517.   _REPL_INFO_1001 = record
  518.     rp1001_pulse: DWORD;
  519.   end;
  520.   {$EXTERNALSYM _REPL_INFO_1001}
  521.   TReplInfo1001 = _REPL_INFO_1001;
  522.   REPL_INFO_1001 = _REPL_INFO_1001;
  523.   {$EXTERNALSYM REPL_INFO_1001}
  524.   PReplInfo1002 = ^TReplInfo1002;
  525.   _REPL_INFO_1002 = record
  526.     rp1002_guardtime: DWORD;
  527.   end;
  528.   {$EXTERNALSYM _REPL_INFO_1002}
  529.   TReplInfo1002 = _REPL_INFO_1002;
  530.   REPL_INFO_1002 = _REPL_INFO_1002;
  531.   {$EXTERNALSYM REPL_INFO_1002}
  532.   PReplInfo1003 = ^TReplInfo1003;
  533.   _REPL_INFO_1003 = record
  534.     rp1003_random: DWORD;
  535.   end;
  536.   {$EXTERNALSYM _REPL_INFO_1003}
  537.   TReplInfo1003 = _REPL_INFO_1003;
  538.   REPL_INFO_1003 = _REPL_INFO_1003;
  539.   {$EXTERNALSYM REPL_INFO_1003}
  540. function NetReplGetInfo(servername: LPCWSTR; level: DWORD; bufptr: Pointer): NET_API_STATUS; stdcall;
  541. {$EXTERNALSYM NetReplGetInfo}
  542. function NetReplSetInfo(servername: LPCWSTR; level: DWORD; const buf: Pointer;
  543.   parm_err: PDWORD): NET_API_STATUS; stdcall;
  544. {$EXTERNALSYM NetReplSetInfo}
  545. // Replicator Export Directory APIs
  546. const
  547.   REPL_INTEGRITY_FILE     = 1;
  548.   {$EXTERNALSYM REPL_INTEGRITY_FILE}
  549.   REPL_INTEGRITY_TREE     = 2;
  550.   {$EXTERNALSYM REPL_INTEGRITY_TREE}
  551.   REPL_EXTENT_FILE        = 1;
  552.   {$EXTERNALSYM REPL_EXTENT_FILE}
  553.   REPL_EXTENT_TREE        = 2;
  554.   {$EXTERNALSYM REPL_EXTENT_TREE}
  555.   REPL_EXPORT_INTEGRITY_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + 0);
  556.   {$EXTERNALSYM REPL_EXPORT_INTEGRITY_INFOLEVEL}
  557.   REPL_EXPORT_EXTENT_INFOLEVEL    = (PARMNUM_BASE_INFOLEVEL + 1);
  558.   {$EXTERNALSYM REPL_EXPORT_EXTENT_INFOLEVEL}
  559. type
  560.   PReplEdirInfo0 = ^TReplEdirInfo0;
  561.   _REPL_EDIR_INFO_0 = record
  562.     rped0_dirname: LPWSTR;
  563.   end;
  564.   {$EXTERNALSYM _REPL_EDIR_INFO_0}
  565.   TReplEdirInfo0 = _REPL_EDIR_INFO_0;
  566.   REPL_EDIR_INFO_0 = _REPL_EDIR_INFO_0;
  567.   {$EXTERNALSYM REPL_EDIR_INFO_0}
  568.   PReplEdirInfo1 = ^TReplEdirInfo1;
  569.   _REPL_EDIR_INFO_1 = record
  570.     rped1_dirname: LPWSTR;
  571.     rped1_integrity: DWORD;
  572.     rped1_extent: DWORD;
  573.   end;
  574.   {$EXTERNALSYM _REPL_EDIR_INFO_1}
  575.   TReplEdirInfo1 = _REPL_EDIR_INFO_1;
  576.   REPL_EDIR_INFO_1 = _REPL_EDIR_INFO_1;
  577.   {$EXTERNALSYM REPL_EDIR_INFO_1}
  578.   PReplEdirInfo2 = ^TReplEdirInfo2;
  579.   _REPL_EDIR_INFO_2 = record
  580.     rped2_dirname: LPWSTR;
  581.     rped2_integrity: DWORD;
  582.     rped2_extent: DWORD;
  583.     rped2_lockcount: DWORD;
  584.     rped2_locktime: DWORD;
  585.   end;
  586.   {$EXTERNALSYM _REPL_EDIR_INFO_2}
  587.   TReplEdirInfo2 = _REPL_EDIR_INFO_2;
  588.   REPL_EDIR_INFO_2 = _REPL_EDIR_INFO_2;
  589.   {$EXTERNALSYM REPL_EDIR_INFO_2}
  590.   PReplEdirInfo1000 = ^TReplEdirInfo1000;
  591.   _REPL_EDIR_INFO_1000 = record
  592.     rped1000_integrity: DWORD;
  593.   end;
  594.   {$EXTERNALSYM _REPL_EDIR_INFO_1000}
  595.   TReplEdirInfo1000 = _REPL_EDIR_INFO_1000;
  596.   REPL_EDIR_INFO_1000 = _REPL_EDIR_INFO_1000;
  597.   {$EXTERNALSYM REPL_EDIR_INFO_1000}
  598.   PReplEdirInfo1001 = ^TReplEdirInfo1001;
  599.   _REPL_EDIR_INFO_1001 = record
  600.     rped1001_extent: DWORD;
  601.   end;
  602.   {$EXTERNALSYM _REPL_EDIR_INFO_1001}
  603.   TReplEdirInfo1001 = _REPL_EDIR_INFO_1001;
  604.   REPL_EDIR_INFO_1001 = _REPL_EDIR_INFO_1001;
  605.   {$EXTERNALSYM REPL_EDIR_INFO_1001}
  606. function NetReplExportDirAdd(servername: LPCWSTR; level: DWORD; buf: Pointer;
  607.   parm_err: PDWORD): NET_API_STATUS; stdcall;
  608. {$EXTERNALSYM NetReplExportDirAdd}
  609. function NetReplExportDirDel(servername, dirname: LPCWSTR): NET_API_STATUS; stdcall;
  610. {$EXTERNALSYM NetReplExportDirDel}
  611. function NetReplExportDirEnum(servername: LPCWSTR; level: DWORD; bufptr: Pointer;
  612.   prefmaxlen: DWORD; var entriesread: DWORD; var totalentries: DWORD;
  613.   resumehandle: PDWORD): NET_API_STATUS; stdcall;
  614. {$EXTERNALSYM NetReplExportDirEnum}
  615. function NetReplExportDirGetInfo(servername: LPCWSTR; dirname: LPCWSTR;
  616.   level: DWORD; bufptr: Pointer): NET_API_STATUS; stdcall;
  617. {$EXTERNALSYM NetReplExportDirGetInfo}
  618. function NetReplExportDirSetInfo(servername: LPCWSTR; dirname: LPCWSTR;
  619.   level: DWORD; const buf: Pointer; parm_err: PDWORD): NET_API_STATUS; stdcall;
  620. {$EXTERNALSYM NetReplExportDirSetInfo}
  621. function NetReplExportDirLock(servername, dirname: LPCWSTR): NET_API_STATUS; stdcall;
  622. {$EXTERNALSYM NetReplExportDirLock}
  623. function NetReplExportDirUnlock(servername: LPCWSTR; dirname: LPCWSTR;
  624.   unlockforce: DWORD): NET_API_STATUS; stdcall;
  625. {$EXTERNALSYM NetReplExportDirUnlock}
  626. const
  627.   REPL_UNLOCK_NOFORCE     = 0;
  628.   {$EXTERNALSYM REPL_UNLOCK_NOFORCE}
  629.   REPL_UNLOCK_FORCE       = 1;
  630.   {$EXTERNALSYM REPL_UNLOCK_FORCE}
  631. // Replicator Import Directory APIs
  632. type
  633.   PReplIdirInfo0 = ^TReplIdirInfo0;
  634.   _REPL_IDIR_INFO_0 = record
  635.     rpid0_dirname: LPWSTR;
  636.   end;
  637.   {$EXTERNALSYM _REPL_IDIR_INFO_0}
  638.   TReplIdirInfo0 = _REPL_IDIR_INFO_0;
  639.   REPL_IDIR_INFO_0 = _REPL_IDIR_INFO_0;
  640.   {$EXTERNALSYM REPL_IDIR_INFO_0}
  641.   PReplIdirInfo1 = ^TReplIdirInfo1;
  642.   _REPL_IDIR_INFO_1 = record
  643.     rpid1_dirname: LPWSTR;
  644.     rpid1_state: DWORD;
  645.     rpid1_mastername: LPWSTR;
  646.     rpid1_last_update_time: DWORD;
  647.     rpid1_lockcount: DWORD;
  648.     rpid1_locktime: DWORD;
  649.   end;
  650.   {$EXTERNALSYM _REPL_IDIR_INFO_1}
  651.   TReplIdirInfo1 = _REPL_IDIR_INFO_1;
  652.   REPL_IDIR_INFO_1 = _REPL_IDIR_INFO_1;
  653.   {$EXTERNALSYM REPL_IDIR_INFO_1}
  654. function NetReplImportDirAdd(servername: LPCWSTR; level: DWORD; buf: Pointer;
  655.   parm_err: PDWORD): NET_API_STATUS; stdcall;
  656. {$EXTERNALSYM NetReplImportDirAdd}
  657. function NetReplImportDirDel(servername, dirname: LPCWSTR): NET_API_STATUS; stdcall;
  658. {$EXTERNALSYM NetReplImportDirDel}
  659. function NetReplImportDirEnum(servername: LPCWSTR; level: DWORD; bufptr: Pointer;
  660.   prefmaxlen: DWORD; var entriesread: DWORD; var totalentries: DWORD;
  661.   resumehandle: PDWORD): NET_API_STATUS; stdcall;
  662. {$EXTERNALSYM NetReplImportDirEnum}
  663. function NetReplImportDirGetInfo(servername, dirname: LPCWSTR; level: DWORD;
  664.   bufptr: Pointer): NET_API_STATUS; stdcall;
  665. {$EXTERNALSYM NetReplImportDirGetInfo}
  666. function NetReplImportDirLock(servername, dirname: LPCWSTR): NET_API_STATUS; stdcall;
  667. {$EXTERNALSYM NetReplImportDirLock}
  668. function NetReplImportDirUnlock(servername: LPCWSTR; dirname: LPCWSTR;
  669.   unlockforce: DWORD): NET_API_STATUS; stdcall;
  670. {$EXTERNALSYM NetReplImportDirUnlock}
  671. const
  672.   REPL_STATE_OK                   = 0;
  673.   {$EXTERNALSYM REPL_STATE_OK}
  674.   REPL_STATE_NO_MASTER            = 1;
  675.   {$EXTERNALSYM REPL_STATE_NO_MASTER}
  676.   REPL_STATE_NO_SYNC              = 2;
  677.   {$EXTERNALSYM REPL_STATE_NO_SYNC}
  678.   REPL_STATE_NEVER_REPLICATED     = 3;
  679.   {$EXTERNALSYM REPL_STATE_NEVER_REPLICATED}
  680. // Translated from LMSERVER.H
  681. // Function Prototypes - SERVER
  682. function NetServerEnum(servername: LPCWSTR; level: DWORD; var bufptr: Pointer;
  683.   prefmaxlen: DWORD; var entriesread: DWORD; var totalentries: DWORD;
  684.   servertype: DWORD; domain: LPCWSTR; resume_handle: PDWORD): NET_API_STATUS; stdcall;
  685. {$EXTERNALSYM NetServerEnum}
  686. function NetServerEnumEx(ServerName: LPCWSTR; Level: DWORD; var Bufptr: Pointer;
  687.   PrefMaxlen: DWORD; var EntriesRead: DWORD; var totalentries: DWORD;
  688.   servertype: DWORD; domain, FirstNameToReturn: LPCWSTR): NET_API_STATUS; stdcall;
  689. {$EXTERNALSYM NetServerEnumEx}
  690. function NetServerGetInfo(servername: LPWSTR; level: DWORD;
  691.   var bufptr: Pointer): NET_API_STATUS; stdcall;
  692. {$EXTERNALSYM NetServerGetInfo}
  693. function NetServerSetInfo(servername: LPWSTR; level: DWORD; buf: Pointer;
  694.   ParmError: PDWORD): NET_API_STATUS; stdcall;
  695. {$EXTERNALSYM NetServerSetInfo}
  696. // Temporary hack function.
  697. function NetServerSetInfoCommandLine(argc: Word; argv: LPWSTR): NET_API_STATUS; stdcall;
  698. {$EXTERNALSYM NetServerSetInfoCommandLine}
  699. function NetServerDiskEnum(servername: LPWSTR; level: DWORD; bufptr: Pointer;
  700.   prefmaxlen: DWORD; var entriesread: DWORD; var totalentries: DWORD;
  701.   resume_handle: PDWORD): NET_API_STATUS; stdcall;
  702. {$EXTERNALSYM NetServerDiskEnum}
  703. function NetServerComputerNameAdd(ServerName: LPWSTR; EmulatedDomainName: LPWSTR;
  704.   EmulatedServerName: LPWSTR): NET_API_STATUS; stdcall;
  705. {$EXTERNALSYM NetServerComputerNameAdd}
  706. function NetServerComputerNameDel(ServerName, EmulatedServerName: LPWSTR): NET_API_STATUS; stdcall;
  707. {$EXTERNALSYM NetServerComputerNameDel}
  708. function NetServerTransportAdd(servername: LPWSTR; level: DWORD;
  709.   bufptr: Pointer): NET_API_STATUS; stdcall;
  710. {$EXTERNALSYM NetServerTransportAdd}
  711. function NetServerTransportAddEx(servername: LPWSTR; level: DWORD;
  712.   bufptr: Pointer): NET_API_STATUS; stdcall;
  713. {$EXTERNALSYM NetServerTransportAddEx}
  714. function NetServerTransportDel(servername: LPWSTR; level: DWORD;
  715.   bufptr: Pointer): NET_API_STATUS; stdcall;
  716. {$EXTERNALSYM NetServerTransportDel}
  717. function NetServerTransportEnum(servername: LPWSTR; level: DWORD; bufptr: Pointer;
  718.   prefmaxlen: DWORD; var entriesread: DWORD; var totalentries: DWORD;
  719.   resumehandle: PDWORD): NET_API_STATUS; stdcall;
  720. {$EXTERNALSYM NetServerTransportEnum}
  721. // The following function can be called by Win NT services to register
  722. // their service type.  This function is exported from advapi32.dll.
  723. // Therefore, if this is the only function called by that service, then
  724. // it is not necessary to link to netapi32.lib.
  725. function SetServiceBits(hServiceStatus: SERVICE_STATUS_HANDLE;
  726.   dwServiceBits: DWORD; bSetBitsOn: BOOL; bUpdateImmediately: BOOL): BOOL; stdcall;
  727. {$EXTERNALSYM SetServiceBits}
  728. // Data Structures - SERVER
  729. type
  730.   PServerInfo100 = ^TServerInfo100;
  731.   _SERVER_INFO_100 = record
  732.     sv100_platform_id: DWORD;
  733.     sv100_name: LPWSTR;
  734.   end;
  735.   {$EXTERNALSYM _SERVER_INFO_100}
  736.   TServerInfo100 = _SERVER_INFO_100;
  737.   SERVER_INFO_100 = _SERVER_INFO_100;
  738.   {$EXTERNALSYM SERVER_INFO_100}
  739.   PServerInfo101 = ^TServerInfo101;
  740.   _SERVER_INFO_101 = record
  741.     sv101_platform_id: DWORD;
  742.     sv101_name: LPWSTR;
  743.     sv101_version_major: DWORD;
  744.     sv101_version_minor: DWORD;
  745.     sv101_type: DWORD;
  746.     sv101_comment: LPWSTR;
  747.   end;
  748.   {$EXTERNALSYM _SERVER_INFO_101}
  749.   TServerInfo101 = _SERVER_INFO_101;
  750.   SERVER_INFO_101 = _SERVER_INFO_101;
  751.   {$EXTERNALSYM SERVER_INFO_101}
  752.   PServerInfo102 = ^TServerInfo102;
  753.   _SERVER_INFO_102 = record
  754.      sv102_platform_id: DWORD;
  755.      sv102_name: LPWSTR;
  756.      sv102_version_major: DWORD;
  757.      sv102_version_minor: DWORD;
  758.      sv102_type: DWORD;
  759.      sv102_comment: LPWSTR;
  760.      sv102_users: DWORD;
  761.      sv102_disc: LongInt;
  762.      sv102_hidden: BOOL;
  763.      sv102_announce: DWORD;
  764.      sv102_anndelta: DWORD;
  765.      sv102_licenses: DWORD;
  766.      sv102_userpath: LPWSTR;
  767.   end;
  768.   {$EXTERNALSYM _SERVER_INFO_102}
  769.   TServerInfo102 = _SERVER_INFO_102;
  770.   SERVER_INFO_102 = _SERVER_INFO_102;
  771.   {$EXTERNALSYM SERVER_INFO_102}
  772.   PServerInfo402 = ^TServerInfo402;
  773.   _SERVER_INFO_402 = record
  774.      sv402_ulist_mtime: DWORD;
  775.      sv402_glist_mtime: DWORD;
  776.      sv402_alist_mtime: DWORD;
  777.      sv402_alerts: LPWSTR;
  778.      sv402_security: DWORD;
  779.      sv402_numadmin: DWORD;
  780.      sv402_lanmask: DWORD;
  781.      sv402_guestacct: LPWSTR;
  782.      sv402_chdevs: DWORD;
  783.      sv402_chdevq: DWORD;
  784.      sv402_chdevjobs: DWORD;
  785.      sv402_connections: DWORD;
  786.      sv402_shares: DWORD;
  787.      sv402_openfiles: DWORD;
  788.      sv402_sessopens: DWORD;
  789.      sv402_sessvcs: DWORD;
  790.      sv402_sessreqs: DWORD;
  791.      sv402_opensearch: DWORD;
  792.      sv402_activelocks: DWORD;
  793.      sv402_numreqbuf: DWORD;
  794.      sv402_sizreqbuf: DWORD;
  795.      sv402_numbigbuf: DWORD;
  796.      sv402_numfiletasks: DWORD;
  797.      sv402_alertsched: DWORD;
  798.      sv402_erroralert: DWORD;
  799.      sv402_logonalert: DWORD;
  800.      sv402_accessalert: DWORD;
  801.      sv402_diskalert: DWORD;
  802.      sv402_netioalert: DWORD;
  803.      sv402_maxauditsz: DWORD;
  804.      sv402_srvheuristics: LPWSTR;
  805.   end;
  806.   {$EXTERNALSYM _SERVER_INFO_402}
  807.   TServerInfo402 = _SERVER_INFO_402;
  808.   SERVER_INFO_402 = _SERVER_INFO_402;
  809.   {$EXTERNALSYM SERVER_INFO_402}
  810.   PServerInfo403 = ^TServerInfo403;
  811.   _SERVER_INFO_403 = record
  812.      sv403_ulist_mtime: DWORD;
  813.      sv403_glist_mtime: DWORD;
  814.      sv403_alist_mtime: DWORD;
  815.      sv403_alerts: LPWSTR;
  816.      sv403_security: DWORD;
  817.      sv403_numadmin: DWORD;
  818.      sv403_lanmask: DWORD;
  819.      sv403_guestacct: LPWSTR;
  820.      sv403_chdevs: DWORD;
  821.      sv403_chdevq: DWORD;
  822.      sv403_chdevjobs: DWORD;
  823.      sv403_connections: DWORD;
  824.      sv403_shares: DWORD;
  825.      sv403_openfiles: DWORD;
  826.      sv403_sessopens: DWORD;
  827.      sv403_sessvcs: DWORD;
  828.      sv403_sessreqs: DWORD;
  829.      sv403_opensearch: DWORD;
  830.      sv403_activelocks: DWORD;
  831.      sv403_numreqbuf: DWORD;
  832.      sv403_sizreqbuf: DWORD;
  833.      sv403_numbigbuf: DWORD;
  834.      sv403_numfiletasks: DWORD;
  835.      sv403_alertsched: DWORD;
  836.      sv403_erroralert: DWORD;
  837.      sv403_logonalert: DWORD;
  838.      sv403_accessalert: DWORD;
  839.      sv403_diskalert: DWORD;
  840.      sv403_netioalert: DWORD;
  841.      sv403_maxauditsz: DWORD;
  842.      sv403_srvheuristics: LPWSTR;
  843.      sv403_auditedevents: DWORD;
  844.      sv403_autoprofile: DWORD;
  845.      sv403_autopath: LPWSTR;
  846.   end;
  847.   {$EXTERNALSYM _SERVER_INFO_403}
  848.   TServerInfo403 = _SERVER_INFO_403;
  849.   SERVER_INFO_403 = _SERVER_INFO_403;
  850.   {$EXTERNALSYM SERVER_INFO_403}
  851.   PServerInfo502 = ^TServerInfo502;
  852.   _SERVER_INFO_502 = record
  853.     sv502_sessopens: DWORD;
  854.     sv502_sessvcs: DWORD;
  855.     sv502_opensearch: DWORD;
  856.     sv502_sizreqbuf: DWORD;
  857.     sv502_initworkitems: DWORD;
  858.     sv502_maxworkitems: DWORD;
  859.     sv502_rawworkitems: DWORD;
  860.     sv502_irpstacksize: DWORD;
  861.     sv502_maxrawbuflen: DWORD;
  862.     sv502_sessusers: DWORD;
  863.     sv502_sessconns: DWORD;
  864.     sv502_maxpagedmemoryusage: DWORD;
  865.     sv502_maxnonpagedmemoryusage: DWORD;
  866.     sv502_enablesoftcompat: BOOL;
  867.     sv502_enableforcedlogoff: BOOL;
  868.     sv502_timesource: BOOL;
  869.     sv502_acceptdownlevelapis: BOOL;
  870.     sv502_lmannounce: BOOL;
  871.   end;
  872.   {$EXTERNALSYM _SERVER_INFO_502}
  873.   TServerInfo502 = _SERVER_INFO_502;
  874.   SERVER_INFO_502 = _SERVER_INFO_502;
  875.   {$EXTERNALSYM SERVER_INFO_502}
  876.   PServerInfo503 = ^TServerInfo503;
  877.   _SERVER_INFO_503 = record
  878.     sv503_sessopens: DWORD;
  879.     sv503_sessvcs: DWORD;
  880.     sv503_opensearch: DWORD;
  881.     sv503_sizreqbuf: DWORD;
  882.     sv503_initworkitems: DWORD;
  883.     sv503_maxworkitems: DWORD;
  884.     sv503_rawworkitems: DWORD;
  885.     sv503_irpstacksize: DWORD;
  886.     sv503_maxrawbuflen: DWORD;
  887.     sv503_sessusers: DWORD;
  888.     sv503_sessconns: DWORD;
  889.     sv503_maxpagedmemoryusage: DWORD;
  890.     sv503_maxnonpagedmemoryusage: DWORD;
  891.     sv503_enablesoftcompat: BOOL;
  892.     sv503_enableforcedlogoff: BOOL;
  893.     sv503_timesource: BOOL;
  894.     sv503_acceptdownlevelapis: BOOL;
  895.     sv503_lmannounce: BOOL;
  896.     sv503_domain: LPWSTR;
  897.     sv503_maxcopyreadlen: DWORD;
  898.     sv503_maxcopywritelen: DWORD;
  899.     sv503_minkeepsearch: DWORD;
  900.     sv503_maxkeepsearch: DWORD;
  901.     sv503_minkeepcomplsearch: DWORD;
  902.     sv503_maxkeepcomplsearch: DWORD;
  903.     sv503_threadcountadd: DWORD;
  904.     sv503_numblockthreads: DWORD;
  905.     sv503_scavtimeout: DWORD;
  906.     sv503_minrcvqueue: DWORD;
  907.     sv503_minfreeworkitems: DWORD;
  908.     sv503_xactmemsize: DWORD;
  909.     sv503_threadpriority: DWORD;
  910.     sv503_maxmpxct: DWORD;
  911.     sv503_oplockbreakwait: DWORD;
  912.     sv503_oplockbreakresponsewait: DWORD;
  913.     sv503_enableoplocks: BOOL;
  914.     sv503_enableoplockforceclose: BOOL;
  915.     sv503_enablefcbopens: BOOL;
  916.     sv503_enableraw: BOOL;
  917.     sv503_enablesharednetdrives: BOOL;
  918.     sv503_minfreeconnections: DWORD;
  919.     sv503_maxfreeconnections: DWORD;
  920.   end;
  921.   {$EXTERNALSYM _SERVER_INFO_503}
  922.   TServerInfo503 = _SERVER_INFO_503;
  923.   SERVER_INFO_503 = _SERVER_INFO_503;
  924.   {$EXTERNALSYM SERVER_INFO_503}
  925.   PServerInfo599 = ^TServerInfo599;
  926.   _SERVER_INFO_599 = record
  927.     sv599_sessopens: DWORD;
  928.     sv599_sessvcs: DWORD;
  929.     sv599_opensearch: DWORD;
  930.     sv599_sizreqbuf: DWORD;
  931.     sv599_initworkitems: DWORD;
  932.     sv599_maxworkitems: DWORD;
  933.     sv599_rawworkitems: DWORD;
  934.     sv599_irpstacksize: DWORD;
  935.     sv599_maxrawbuflen: DWORD;
  936.     sv599_sessusers: DWORD;
  937.     sv599_sessconns: DWORD;
  938.     sv599_maxpagedmemoryusage: DWORD;
  939.     sv599_maxnonpagedmemoryusage: DWORD;
  940.     sv599_enablesoftcompat: BOOL;
  941.     sv599_enableforcedlogoff: BOOL;
  942.     sv599_timesource: BOOL;
  943.     sv599_acceptdownlevelapis: BOOL;
  944.     sv599_lmannounce: BOOL;
  945.     sv599_domain: LPWSTR;
  946.     sv599_maxcopyreadlen: DWORD;
  947.     sv599_maxcopywritelen: DWORD;
  948.     sv599_minkeepsearch: DWORD;
  949.     sv599_maxkeepsearch: DWORD;
  950.     sv599_minkeepcomplsearch: DWORD;
  951.     sv599_maxkeepcomplsearch: DWORD;
  952.     sv599_threadcountadd: DWORD;
  953.     sv599_numblockthreads: DWORD;
  954.     sv599_scavtimeout: DWORD;
  955.     sv599_minrcvqueue: DWORD;
  956.     sv599_minfreeworkitems: DWORD;
  957.     sv599_xactmemsize: DWORD;
  958.     sv599_threadpriority: DWORD;
  959.     sv599_maxmpxct: DWORD;
  960.     sv599_oplockbreakwait: DWORD;
  961.     sv599_oplockbreakresponsewait: DWORD;
  962.     sv599_enableoplocks: BOOL;
  963.     sv599_enableoplockforceclose: BOOL;
  964.     sv599_enablefcbopens: BOOL;
  965.     sv599_enableraw: BOOL;
  966.     sv599_enablesharednetdrives: BOOL;
  967.     sv599_minfreeconnections: DWORD;
  968.     sv599_maxfreeconnections: DWORD;
  969.     sv599_initsesstable: DWORD;
  970.     sv599_initconntable: DWORD;
  971.     sv599_initfiletable: DWORD;
  972.     sv599_initsearchtable: DWORD;
  973.     sv599_alertschedule: DWORD;
  974.     sv599_errorthreshold: DWORD;
  975.     sv599_networkerrorthreshold: DWORD;
  976.     sv599_diskspacethreshold: DWORD;
  977.     sv599_reserved: DWORD;
  978.     sv599_maxlinkdelay: DWORD;
  979.     sv599_minlinkthroughput: DWORD;
  980.     sv599_linkinfovalidtime: DWORD;
  981.     sv599_scavqosinfoupdatetime: DWORD;
  982.     sv599_maxworkitemidletime: DWORD;
  983.   end;
  984.   {$EXTERNALSYM _SERVER_INFO_599}
  985.   TServerInfo599 = _SERVER_INFO_599;
  986.   SERVER_INFO_599 = _SERVER_INFO_599;
  987.   {$EXTERNALSYM SERVER_INFO_599}
  988.   PServerInfo598 = ^TServerInfo598;
  989.   _SERVER_INFO_598 = record
  990.     sv598_maxrawworkitems: DWORD;
  991.     sv598_maxthreadsperqueue: DWORD;
  992.     sv598_producttype: DWORD;
  993.     sv598_serversize: DWORD;
  994.     sv598_connectionlessautodisc: DWORD;
  995.     sv598_sharingviolationretries: DWORD;
  996.     sv598_sharingviolationdelay: DWORD;
  997.     sv598_maxglobalopensearch: DWORD;
  998.     sv598_removeduplicatesearches: DWORD;
  999.     sv598_lockviolationoffset: DWORD;
  1000.     sv598_lockviolationdelay: DWORD;
  1001.     sv598_mdlreadswitchover: DWORD;
  1002.     sv598_cachedopenlimit: DWORD;
  1003.     sv598_otherqueueaffinity: DWORD;
  1004.     sv598_restrictnullsessaccess: BOOL;
  1005.     sv598_enablewfw311directipx: BOOL;
  1006.     sv598_queuesamplesecs: DWORD;
  1007.     sv598_balancecount: DWORD;
  1008.     sv598_preferredaffinity: DWORD;
  1009.     sv598_maxfreerfcbs: DWORD;
  1010.     sv598_maxfreemfcbs: DWORD;
  1011.     sv598_maxfreelfcbs: DWORD;
  1012.     sv598_maxfreepagedpoolchunks: DWORD;
  1013.     sv598_minpagedpoolchunksize: DWORD;
  1014.     sv598_maxpagedpoolchunksize: DWORD;
  1015.     sv598_sendsfrompreferredprocessor: BOOL;
  1016.     sv598_cacheddirectorylimit: DWORD;
  1017.     sv598_maxcopylength: DWORD;
  1018.     sv598_enablecompression: BOOL;
  1019.     sv598_autosharewks: BOOL;
  1020.     sv598_autoshareserver: BOOL;
  1021.     sv598_enablesecuritysignature: BOOL;
  1022.     sv598_requiresecuritysignature: BOOL;
  1023.     sv598_minclientbuffersize: DWORD;
  1024.     sv598_serverguid: TGUID;
  1025.     sv598_ConnectionNoSessionsTimeout: DWORD;
  1026.     sv598_IdleThreadTimeOut: DWORD;
  1027.     sv598_enableW9xsecuritysignature: BOOL;
  1028.   end;
  1029.   {$EXTERNALSYM _SERVER_INFO_598}
  1030.   TServerInfo598 = _SERVER_INFO_598;
  1031.   SERVER_INFO_598 = _SERVER_INFO_598;
  1032.   {$EXTERNALSYM SERVER_INFO_598}
  1033.   PServerInfo1005 = ^TServerInfo1005;
  1034.   _SERVER_INFO_1005 = record
  1035.     sv1005_comment: LPWSTR;
  1036.   end;
  1037.   {$EXTERNALSYM _SERVER_INFO_1005}
  1038.   TServerInfo1005 = _SERVER_INFO_1005;
  1039.   SERVER_INFO_1005 = _SERVER_INFO_1005;
  1040.   {$EXTERNALSYM SERVER_INFO_1005}
  1041.   PServerInfo1107 = ^TServerInfo1107;
  1042.   _SERVER_INFO_1107 = record
  1043.     sv1107_users: DWORD;
  1044.   end;
  1045.   {$EXTERNALSYM _SERVER_INFO_1107}
  1046.   TServerInfo1107 = _SERVER_INFO_1107;
  1047.   SERVER_INFO_1107 = _SERVER_INFO_1107;
  1048.   {$EXTERNALSYM SERVER_INFO_1107}
  1049.   PServerInfo1010 = ^TServerInfo1010;
  1050.   _SERVER_INFO_1010 = record
  1051.     sv1010_disc: LongInt;
  1052.   end;
  1053.   {$EXTERNALSYM _SERVER_INFO_1010}
  1054.   TServerInfo1010 = _SERVER_INFO_1010;
  1055.   SERVER_INFO_1010 = _SERVER_INFO_1010;
  1056.   {$EXTERNALSYM SERVER_INFO_1010}
  1057.   PServerInfo1016 = ^TServerInfo1016;
  1058.   _SERVER_INFO_1016 = record
  1059.     sv1016_hidden: BOOL;
  1060.   end;
  1061.   {$EXTERNALSYM _SERVER_INFO_1016}
  1062.   TServerInfo1016 = _SERVER_INFO_1016;
  1063.   SERVER_INFO_1016 = _SERVER_INFO_1016;
  1064.   {$EXTERNALSYM SERVER_INFO_1016}
  1065.   PServerInfo1017 = ^TServerInfo1017;
  1066.   _SERVER_INFO_1017 = record
  1067.     sv1017_announce: DWORD;
  1068.   end;
  1069.   {$EXTERNALSYM _SERVER_INFO_1017}
  1070.   TServerInfo1017 = _SERVER_INFO_1017;
  1071.   SERVER_INFO_1017 = _SERVER_INFO_1017;
  1072.   {$EXTERNALSYM SERVER_INFO_1017}
  1073.   PServerInfo1018 = ^TServerInfo1018;
  1074.   _SERVER_INFO_1018 = record
  1075.     sv1018_anndelta: DWORD;
  1076.   end;
  1077.   {$EXTERNALSYM _SERVER_INFO_1018}
  1078.   TServerInfo1018 = _SERVER_INFO_1018;
  1079.   SERVER_INFO_1018 = _SERVER_INFO_1018;
  1080.   {$EXTERNALSYM SERVER_INFO_1018}
  1081.   PServerInfo1501 = ^TServerInfo1501;
  1082.   _SERVER_INFO_1501 = record
  1083.     sv1501_sessopens: DWORD;
  1084.   end;
  1085.   {$EXTERNALSYM _SERVER_INFO_1501}
  1086.   TServerInfo1501 = _SERVER_INFO_1501;
  1087.   SERVER_INFO_1501 = _SERVER_INFO_1501;
  1088.   {$EXTERNALSYM SERVER_INFO_1501}
  1089.   PServerInfo1502 = ^TServerInfo1502;
  1090.   _SERVER_INFO_1502 = record
  1091.     sv1502_sessvcs: DWORD;
  1092.   end;
  1093.   {$EXTERNALSYM _SERVER_INFO_1502}
  1094.   TServerInfo1502 = _SERVER_INFO_1502;
  1095.   SERVER_INFO_1502 = _SERVER_INFO_1502;
  1096.   {$EXTERNALSYM SERVER_INFO_1502}
  1097.   PServerInfo1503 = ^TServerInfo1503;
  1098.   _SERVER_INFO_1503 = record
  1099.     sv1503_opensearch: DWORD;
  1100.   end;
  1101.   {$EXTERNALSYM _SERVER_INFO_1503}
  1102.   TServerInfo1503 = _SERVER_INFO_1503;
  1103.   SERVER_INFO_1503 = _SERVER_INFO_1503;
  1104.   {$EXTERNALSYM SERVER_INFO_1503}
  1105.   PServerInfo1506 = ^TServerInfo1506;
  1106.   _SERVER_INFO_1506 = record
  1107.     sv1506_maxworkitems: DWORD;
  1108.   end;
  1109.   {$EXTERNALSYM _SERVER_INFO_1506}
  1110.   TServerInfo1506 = _SERVER_INFO_1506;
  1111.   SERVER_INFO_1506 = _SERVER_INFO_1506;
  1112.   {$EXTERNALSYM SERVER_INFO_1506}
  1113.   PServerInfo1509 = ^TServerInfo1509;
  1114.   _SERVER_INFO_1509 = record
  1115.     sv1509_maxrawbuflen: DWORD;
  1116.   end;
  1117.   {$EXTERNALSYM _SERVER_INFO_1509}
  1118.   TServerInfo1509 = _SERVER_INFO_1509;
  1119.   SERVER_INFO_1509 = _SERVER_INFO_1509;
  1120.   {$EXTERNALSYM SERVER_INFO_1509}
  1121.   PServerInfo1510 = ^TServerInfo1510;
  1122.   _SERVER_INFO_1510 = record
  1123.     sv1510_sessusers: DWORD;
  1124.   end;
  1125.   {$EXTERNALSYM _SERVER_INFO_1510}
  1126.   TServerInfo1510 = _SERVER_INFO_1510;
  1127.   SERVER_INFO_1510 = _SERVER_INFO_1510;
  1128.   {$EXTERNALSYM SERVER_INFO_1510}
  1129.   PServerInfo1511 = ^TServerInfo1511;
  1130.   _SERVER_INFO_1511 = record
  1131.     sv1511_sessconns: DWORD;
  1132.   end;
  1133.   {$EXTERNALSYM _SERVER_INFO_1511}
  1134.   TServerInfo1511 = _SERVER_INFO_1511;
  1135.   SERVER_INFO_1511 = _SERVER_INFO_1511;
  1136.   {$EXTERNALSYM SERVER_INFO_1511}
  1137.   PServerInfo1512 = ^TServerInfo1512;
  1138.   _SERVER_INFO_1512 = record
  1139.     sv1512_maxnonpagedmemoryusage: DWORD;
  1140.   end;
  1141.   {$EXTERNALSYM _SERVER_INFO_1512}
  1142.   TServerInfo1512 = _SERVER_INFO_1512;
  1143.   SERVER_INFO_1512 = _SERVER_INFO_1512;
  1144.   {$EXTERNALSYM SERVER_INFO_1512}
  1145.   PServerInfo1513 = ^TServerInfo1513;
  1146.   _SERVER_INFO_1513 = record
  1147.     sv1513_maxpagedmemoryusage: DWORD;
  1148.   end;
  1149.   {$EXTERNALSYM _SERVER_INFO_1513}
  1150.   TServerInfo1513 = _SERVER_INFO_1513;
  1151.   SERVER_INFO_1513 = _SERVER_INFO_1513;
  1152.   {$EXTERNALSYM SERVER_INFO_1513}
  1153.   PServerInfo1514 = ^TServerInfo1514;
  1154.   _SERVER_INFO_1514 = record
  1155.     sv1514_enablesoftcompat: BOOL;
  1156.   end;
  1157.   {$EXTERNALSYM _SERVER_INFO_1514}
  1158.   TServerInfo1514 = _SERVER_INFO_1514;
  1159.   SERVER_INFO_1514 = _SERVER_INFO_1514;
  1160.   {$EXTERNALSYM SERVER_INFO_1514}
  1161.   PServerInfo1515 = ^TServerInfo1515;
  1162.   _SERVER_INFO_1515 = record
  1163.     sv1515_enableforcedlogoff: BOOL;
  1164.   end;
  1165.   {$EXTERNALSYM _SERVER_INFO_1515}
  1166.   TServerInfo1515 = _SERVER_INFO_1515;
  1167.   SERVER_INFO_1515 = _SERVER_INFO_1515;
  1168.   {$EXTERNALSYM SERVER_INFO_1515}
  1169.   PServerInfo1516 = ^TServerInfo1516;
  1170.   _SERVER_INFO_1516 = record
  1171.     sv1516_timesource: BOOL;
  1172.   end;
  1173.   {$EXTERNALSYM _SERVER_INFO_1516}
  1174.   TServerInfo1516 = _SERVER_INFO_1516;
  1175.   SERVER_INFO_1516 = _SERVER_INFO_1516;
  1176.   {$EXTERNALSYM SERVER_INFO_1516}
  1177.   PServerInfo1518 = ^TServerInfo1518;
  1178.   _SERVER_INFO_1518 = record
  1179.     sv1518_lmannounce: BOOL;
  1180.   end;
  1181.   {$EXTERNALSYM _SERVER_INFO_1518}
  1182.   TServerInfo1518 = _SERVER_INFO_1518;
  1183.   SERVER_INFO_1518 = _SERVER_INFO_1518;
  1184.   {$EXTERNALSYM SERVER_INFO_1518}
  1185.   PServerInfo1520 = ^TServerInfo1520;
  1186.   _SERVER_INFO_1520 = record
  1187.     sv1520_maxcopyreadlen: DWORD;
  1188.   end;
  1189.   {$EXTERNALSYM _SERVER_INFO_1520}
  1190.   TServerInfo1520 = _SERVER_INFO_1520;
  1191.   SERVER_INFO_1520 = _SERVER_INFO_1520;
  1192.   {$EXTERNALSYM SERVER_INFO_1520}
  1193.   PServerInfo1521 = ^TServerInfo1521;
  1194.   _SERVER_INFO_1521 = record
  1195.     sv1521_maxcopywritelen: DWORD;
  1196.   end;
  1197.   {$EXTERNALSYM _SERVER_INFO_1521}
  1198.   TServerInfo1521 = _SERVER_INFO_1521;
  1199.   SERVER_INFO_1521 = _SERVER_INFO_1521;
  1200.   {$EXTERNALSYM SERVER_INFO_1521}
  1201.   PServerInfo1522 = ^TServerInfo1522;
  1202.   _SERVER_INFO_1522 = record
  1203.     sv1522_minkeepsearch: DWORD;
  1204.   end;
  1205.   {$EXTERNALSYM _SERVER_INFO_1522}
  1206.   TServerInfo1522 = _SERVER_INFO_1522;
  1207.   SERVER_INFO_1522 = _SERVER_INFO_1522;
  1208.   {$EXTERNALSYM SERVER_INFO_1522}
  1209.   PServerInfo1523 = ^TServerInfo1523;
  1210.   _SERVER_INFO_1523 = record
  1211.     sv1523_maxkeepsearch: DWORD;
  1212.   end;
  1213.   {$EXTERNALSYM _SERVER_INFO_1523}
  1214.   TServerInfo1523 = _SERVER_INFO_1523;
  1215.   SERVER_INFO_1523 = _SERVER_INFO_1523;
  1216.   {$EXTERNALSYM SERVER_INFO_1523}
  1217.   PServerInfo1524 = ^TServerInfo1524;
  1218.   _SERVER_INFO_1524 = record
  1219.     sv1524_minkeepcomplsearch: DWORD;
  1220.   end;
  1221.   {$EXTERNALSYM _SERVER_INFO_1524}
  1222.   TServerInfo1524 = _SERVER_INFO_1524;
  1223.   SERVER_INFO_1524 = _SERVER_INFO_1524;
  1224.   {$EXTERNALSYM SERVER_INFO_1524}
  1225.   PServerInfo1525 = ^TServerInfo1525;
  1226.   _SERVER_INFO_1525 = record
  1227.     sv1525_maxkeepcomplsearch: DWORD;
  1228.   end;
  1229.   {$EXTERNALSYM _SERVER_INFO_1525}
  1230.   TServerInfo1525 = _SERVER_INFO_1525;
  1231.   SERVER_INFO_1525 = _SERVER_INFO_1525;
  1232.   {$EXTERNALSYM SERVER_INFO_1525}
  1233.   PServerInfo1528 = ^TServerInfo1528;
  1234.   _SERVER_INFO_1528 = record
  1235.     sv1528_scavtimeout: DWORD;
  1236.   end;
  1237.   {$EXTERNALSYM _SERVER_INFO_1528}
  1238.   TServerInfo1528 = _SERVER_INFO_1528;
  1239.   SERVER_INFO_1528 = _SERVER_INFO_1528;
  1240.   {$EXTERNALSYM SERVER_INFO_1528}
  1241.   PServerInfo1529 = ^TServerInfo1529;
  1242.   _SERVER_INFO_1529 = record
  1243.     sv1529_minrcvqueue: DWORD;
  1244.   end;
  1245.   {$EXTERNALSYM _SERVER_INFO_1529}
  1246.   TServerInfo1529 = _SERVER_INFO_1529;
  1247.   SERVER_INFO_1529 = _SERVER_INFO_1529;
  1248.   {$EXTERNALSYM SERVER_INFO_1529}
  1249.   PServerInfo1530 = ^TServerInfo1530;
  1250.   _SERVER_INFO_1530 = record
  1251.     sv1530_minfreeworkitems: DWORD;
  1252.   end;
  1253.   {$EXTERNALSYM _SERVER_INFO_1530}
  1254.   TServerInfo1530 = _SERVER_INFO_1530;
  1255.   SERVER_INFO_1530 = _SERVER_INFO_1530;
  1256.   {$EXTERNALSYM SERVER_INFO_1530}
  1257.   PServerInfo1533 = ^TServerInfo1533;
  1258.   _SERVER_INFO_1533 = record
  1259.     sv1533_maxmpxct: DWORD;
  1260.   end;
  1261.   {$EXTERNALSYM _SERVER_INFO_1533}
  1262.   TServerInfo1533 = _SERVER_INFO_1533;
  1263.   SERVER_INFO_1533 = _SERVER_INFO_1533;
  1264.   {$EXTERNALSYM SERVER_INFO_1533}
  1265.   PServerInfo1534 = ^TServerInfo1534;
  1266.   _SERVER_INFO_1534 = record
  1267.     sv1534_oplockbreakwait: DWORD;
  1268.   end;
  1269.   {$EXTERNALSYM _SERVER_INFO_1534}
  1270.   TServerInfo1534 = _SERVER_INFO_1534;
  1271.   SERVER_INFO_1534 = _SERVER_INFO_1534;
  1272.   {$EXTERNALSYM SERVER_INFO_1534}
  1273.   PServerInfo1535 = ^TServerInfo1535;
  1274.   _SERVER_INFO_1535 = record
  1275.     sv1535_oplockbreakresponsewait: DWORD;
  1276.   end;
  1277.   {$EXTERNALSYM _SERVER_INFO_1535}
  1278.   TServerInfo1535 = _SERVER_INFO_1535;
  1279.   SERVER_INFO_1535 = _SERVER_INFO_1535;
  1280.   {$EXTERNALSYM SERVER_INFO_1535}
  1281.   PServerInfo1536 = ^TServerInfo1536;
  1282.   _SERVER_INFO_1536 = record
  1283.     sv1536_enableoplocks: BOOL;
  1284.   end;
  1285.   {$EXTERNALSYM _SERVER_INFO_1536}
  1286.   TServerInfo1536 = _SERVER_INFO_1536;
  1287.   SERVER_INFO_1536 = _SERVER_INFO_1536;
  1288.   {$EXTERNALSYM SERVER_INFO_1536}
  1289.   PServerInfo1537 = ^TServerInfo1537;
  1290.   _SERVER_INFO_1537 = record
  1291.     sv1537_enableoplockforceclose: BOOL;
  1292.   end;
  1293.   {$EXTERNALSYM _SERVER_INFO_1537}
  1294.   TServerInfo1537 = _SERVER_INFO_1537;
  1295.   SERVER_INFO_1537 = _SERVER_INFO_1537;
  1296.   {$EXTERNALSYM SERVER_INFO_1537}
  1297.   PServerInfo1538 = ^TServerInfo1538;
  1298.   _SERVER_INFO_1538 = record
  1299.     sv1538_enablefcbopens: BOOL;
  1300.   end;
  1301.   {$EXTERNALSYM _SERVER_INFO_1538}
  1302.   TServerInfo1538 = _SERVER_INFO_1538;
  1303.   SERVER_INFO_1538 = _SERVER_INFO_1538;
  1304.   {$EXTERNALSYM SERVER_INFO_1538}
  1305.   PServerInfo1539 = ^TServerInfo1539;
  1306.   _SERVER_INFO_1539 = record
  1307.     sv1539_enableraw: BOOL;
  1308.   end;
  1309.   {$EXTERNALSYM _SERVER_INFO_1539}
  1310.   TServerInfo1539 = _SERVER_INFO_1539;
  1311.   SERVER_INFO_1539 = _SERVER_INFO_1539;
  1312.   {$EXTERNALSYM SERVER_INFO_1539}
  1313.   PServerInfo1540 = ^TServerInfo1540;
  1314.   _SERVER_INFO_1540 = record
  1315.     sv1540_enablesharednetdrives: BOOL;
  1316.   end;
  1317.   {$EXTERNALSYM _SERVER_INFO_1540}
  1318.   TServerInfo1540 = _SERVER_INFO_1540;
  1319.   SERVER_INFO_1540 = _SERVER_INFO_1540;
  1320.   {$EXTERNALSYM SERVER_INFO_1540}
  1321.   PServerInfo1541 = ^TServerInfo1541;
  1322.   _SERVER_INFO_1541 = record
  1323.     sv1541_minfreeconnections: BOOL;
  1324.   end;
  1325.   {$EXTERNALSYM _SERVER_INFO_1541}
  1326.   TServerInfo1541 = _SERVER_INFO_1541;
  1327.   SERVER_INFO_1541 = _SERVER_INFO_1541;
  1328.   {$EXTERNALSYM SERVER_INFO_1541}
  1329.   PServerInfo1542 = ^TServerInfo1542;
  1330.   _SERVER_INFO_1542 = record
  1331.     sv1542_maxfreeconnections: BOOL;
  1332.   end;
  1333.   {$EXTERNALSYM _SERVER_INFO_1542}
  1334.   TServerInfo1542 = _SERVER_INFO_1542;
  1335.   SERVER_INFO_1542 = _SERVER_INFO_1542;
  1336.   {$EXTERNALSYM SERVER_INFO_1542}
  1337.   PServerInfo1543 = ^TServerInfo1543;
  1338.   _SERVER_INFO_1543 = record
  1339.     sv1543_initsesstable: DWORD;
  1340.   end;
  1341.   {$EXTERNALSYM _SERVER_INFO_1543}
  1342.   TServerInfo1543 = _SERVER_INFO_1543;
  1343.   SERVER_INFO_1543 = _SERVER_INFO_1543;
  1344.   {$EXTERNALSYM SERVER_INFO_1543}
  1345.   PServerInfo1544 = ^TServerInfo1544;
  1346.   _SERVER_INFO_1544 = record
  1347.     sv1544_initconntable: DWORD;
  1348.   end;
  1349.   {$EXTERNALSYM _SERVER_INFO_1544}
  1350.   TServerInfo1544 = _SERVER_INFO_1544;
  1351.   SERVER_INFO_1544 = _SERVER_INFO_1544;
  1352.   {$EXTERNALSYM SERVER_INFO_1544}
  1353.   PServerInfo1545 = ^TServerInfo1545;
  1354.   _SERVER_INFO_1545 = record
  1355.     sv1545_initfiletable: DWORD;
  1356.   end;
  1357.   {$EXTERNALSYM _SERVER_INFO_1545}
  1358.   TServerInfo1545 = _SERVER_INFO_1545;
  1359.   SERVER_INFO_1545 = _SERVER_INFO_1545;
  1360.   {$EXTERNALSYM SERVER_INFO_1545}
  1361.   PServerInfo1546 = ^TServerInfo1546;
  1362.   _SERVER_INFO_1546 = record
  1363.     sv1546_initsearchtable: DWORD;
  1364.   end;
  1365.   {$EXTERNALSYM _SERVER_INFO_1546}
  1366.   TServerInfo1546 = _SERVER_INFO_1546;
  1367.   SERVER_INFO_1546 = _SERVER_INFO_1546;
  1368.   {$EXTERNALSYM SERVER_INFO_1546}
  1369.   PServerInfo1547 = ^TServerInfo1547;
  1370.   _SERVER_INFO_1547 = record
  1371.     sv1547_alertschedule: DWORD;
  1372.   end;
  1373.   {$EXTERNALSYM _SERVER_INFO_1547}
  1374.   TServerInfo1547 = _SERVER_INFO_1547;
  1375.   SERVER_INFO_1547 = _SERVER_INFO_1547;
  1376.   {$EXTERNALSYM SERVER_INFO_1547}
  1377.   PServerInfo1548 = ^TServerInfo1548;
  1378.   _SERVER_INFO_1548 = record
  1379.     sv1548_errorthreshold: DWORD;
  1380.   end;
  1381.   {$EXTERNALSYM _SERVER_INFO_1548}
  1382.   TServerInfo1548 = _SERVER_INFO_1548;
  1383.   SERVER_INFO_1548 = _SERVER_INFO_1548;
  1384.   {$EXTERNALSYM SERVER_INFO_1548}
  1385.   PServerInfo1549 = ^TServerInfo1549;
  1386.   _SERVER_INFO_1549 = record
  1387.     sv1549_networkerrorthreshold: DWORD;
  1388.   end;
  1389.   {$EXTERNALSYM _SERVER_INFO_1549}
  1390.   TServerInfo1549 = _SERVER_INFO_1549;
  1391.   SERVER_INFO_1549 = _SERVER_INFO_1549;
  1392.   {$EXTERNALSYM SERVER_INFO_1549}
  1393.   PServerInfo1550 = ^TServerInfo1550;
  1394.   _SERVER_INFO_1550 = record
  1395.     sv1550_diskspacethreshold: DWORD;
  1396.   end;
  1397.   {$EXTERNALSYM _SERVER_INFO_1550}
  1398.   TServerInfo1550 = _SERVER_INFO_1550;
  1399.   SERVER_INFO_1550 = _SERVER_INFO_1550;
  1400.   {$EXTERNALSYM SERVER_INFO_1550}
  1401.   PServerInfo1552 = ^TServerInfo1552;
  1402.   _SERVER_INFO_1552 = record
  1403.     sv1552_maxlinkdelay: DWORD;
  1404.   end;
  1405.   {$EXTERNALSYM _SERVER_INFO_1552}
  1406.   TServerInfo1552 = _SERVER_INFO_1552;
  1407.   SERVER_INFO_1552 = _SERVER_INFO_1552;
  1408.   {$EXTERNALSYM SERVER_INFO_1552}
  1409.   PServerInfo1553 = ^TServerInfo1553;
  1410.   _SERVER_INFO_1553 = record
  1411.     sv1553_minlinkthroughput: DWORD;
  1412.   end;
  1413.   {$EXTERNALSYM _SERVER_INFO_1553}
  1414.   TServerInfo1553 = _SERVER_INFO_1553;
  1415.   SERVER_INFO_1553 = _SERVER_INFO_1553;
  1416.   {$EXTERNALSYM SERVER_INFO_1553}
  1417.   PServerInfo1554 = ^TServerInfo1554;
  1418.   _SERVER_INFO_1554 = record
  1419.     sv1554_linkinfovalidtime: DWORD;
  1420.   end;
  1421.   {$EXTERNALSYM _SERVER_INFO_1554}
  1422.   TServerInfo1554 = _SERVER_INFO_1554;
  1423.   SERVER_INFO_1554 = _SERVER_INFO_1554;
  1424.   {$EXTERNALSYM SERVER_INFO_1554}
  1425.   PServerInfo1555 = ^TServerInfo1555;
  1426.   _SERVER_INFO_1555 = record
  1427.     sv1555_scavqosinfoupdatetime: DWORD;
  1428.   end;
  1429.   {$EXTERNALSYM _SERVER_INFO_1555}
  1430.   TServerInfo1555 = _SERVER_INFO_1555;
  1431.   SERVER_INFO_1555 = _SERVER_INFO_1555;
  1432.   {$EXTERNALSYM SERVER_INFO_1555}
  1433.   PServerInfo1556 = ^TServerInfo1556;
  1434.   _SERVER_INFO_1556 = record
  1435.     sv1556_maxworkitemidletime: DWORD;
  1436.   end;
  1437.   {$EXTERNALSYM _SERVER_INFO_1556}
  1438.   TServerInfo1556 = _SERVER_INFO_1556;
  1439.   SERVER_INFO_1556 = _SERVER_INFO_1556;
  1440.   {$EXTERNALSYM SERVER_INFO_1556}
  1441.   PServerInfo1557 = ^TServerInfo1557;
  1442.   _SERVER_INFO_1557 = record
  1443.     sv1557_maxrawworkitems: DWORD;
  1444.   end;
  1445.   {$EXTERNALSYM _SERVER_INFO_1557}
  1446.   TServerInfo1557 = _SERVER_INFO_1557;
  1447.   SERVER_INFO_1557 = _SERVER_INFO_1557;
  1448.   {$EXTERNALSYM SERVER_INFO_1557}
  1449.   PServerInfo1560 = ^TServerInfo1560;
  1450.   _SERVER_INFO_1560 = record
  1451.     sv1560_producttype: DWORD;
  1452.   end;
  1453.   {$EXTERNALSYM _SERVER_INFO_1560}
  1454.   TServerInfo1560 = _SERVER_INFO_1560;
  1455.   SERVER_INFO_1560 = _SERVER_INFO_1560;
  1456.   {$EXTERNALSYM SERVER_INFO_1560}
  1457.   PServerInfo1561 = ^TServerInfo1561;
  1458.   _SERVER_INFO_1561 = record
  1459.     sv1561_serversize: DWORD;
  1460.   end;
  1461.   {$EXTERNALSYM _SERVER_INFO_1561}
  1462.   TServerInfo1561 = _SERVER_INFO_1561;
  1463.   SERVER_INFO_1561 = _SERVER_INFO_1561;
  1464.   {$EXTERNALSYM SERVER_INFO_1561}
  1465.   PServerInfo1562 = ^TServerInfo1562;
  1466.   _SERVER_INFO_1562 = record
  1467.     sv1562_connectionlessautodisc: DWORD;
  1468.   end;
  1469.   {$EXTERNALSYM _SERVER_INFO_1562}
  1470.   TServerInfo1562 = _SERVER_INFO_1562;
  1471.   SERVER_INFO_1562 = _SERVER_INFO_1562;
  1472.   {$EXTERNALSYM SERVER_INFO_1562}
  1473.   PServerInfo1563 = ^TServerInfo1563;
  1474.   _SERVER_INFO_1563 = record
  1475.     sv1563_sharingviolationretries: DWORD;
  1476.   end;
  1477.   {$EXTERNALSYM _SERVER_INFO_1563}
  1478.   TServerInfo1563 = _SERVER_INFO_1563;
  1479.   SERVER_INFO_1563 = _SERVER_INFO_1563;
  1480.   {$EXTERNALSYM SERVER_INFO_1563}
  1481.   PServerInfo1564 = ^TServerInfo1564;
  1482.   _SERVER_INFO_1564 = record
  1483.     sv1564_sharingviolationdelay: DWORD;
  1484.   end;
  1485.   {$EXTERNALSYM _SERVER_INFO_1564}
  1486.   TServerInfo1564 = _SERVER_INFO_1564;
  1487.   SERVER_INFO_1564 = _SERVER_INFO_1564;
  1488.   {$EXTERNALSYM SERVER_INFO_1564}
  1489.   PServerInfo1565 = ^TServerInfo1565;
  1490.   _SERVER_INFO_1565 = record
  1491.     sv1565_maxglobalopensearch: DWORD;
  1492.   end;
  1493.   {$EXTERNALSYM _SERVER_INFO_1565}
  1494.   TServerInfo1565 = _SERVER_INFO_1565;
  1495.   SERVER_INFO_1565 = _SERVER_INFO_1565;
  1496.   {$EXTERNALSYM SERVER_INFO_1565}
  1497.   PServerInfo1566 = ^TServerInfo1566;
  1498.   _SERVER_INFO_1566 = record
  1499.     sv1566_removeduplicatesearches: BOOL;
  1500.   end;
  1501.   {$EXTERNALSYM _SERVER_INFO_1566}
  1502.   TServerInfo1566 = _SERVER_INFO_1566;
  1503.   SERVER_INFO_1566 = _SERVER_INFO_1566;
  1504.   {$EXTERNALSYM SERVER_INFO_1566}
  1505.   PServerInfo1567 = ^TServerInfo1567;
  1506.   _SERVER_INFO_1567 = record
  1507.     sv1567_lockviolationretries: DWORD;
  1508.   end;
  1509.   {$EXTERNALSYM _SERVER_INFO_1567}
  1510.   TServerInfo1567 = _SERVER_INFO_1567;
  1511.   SERVER_INFO_1567 = _SERVER_INFO_1567;
  1512.   {$EXTERNALSYM SERVER_INFO_1567}
  1513.   PServerInfo1568 = ^TServerInfo1568;
  1514.   _SERVER_INFO_1568 = record
  1515.     sv1568_lockviolationoffset: DWORD;
  1516.   end;
  1517.   {$EXTERNALSYM _SERVER_INFO_1568}
  1518.   TServerInfo1568 = _SERVER_INFO_1568;
  1519.   SERVER_INFO_1568 = _SERVER_INFO_1568;
  1520.   {$EXTERNALSYM SERVER_INFO_1568}
  1521.   PServerInfo1569 = ^TServerInfo1569;
  1522.   _SERVER_INFO_1569 = record
  1523.     sv1569_lockviolationdelay: DWORD;
  1524.   end;
  1525.   {$EXTERNALSYM _SERVER_INFO_1569}
  1526.   TServerInfo1569 = _SERVER_INFO_1569;
  1527.   SERVER_INFO_1569 = _SERVER_INFO_1569;
  1528.   {$EXTERNALSYM SERVER_INFO_1569}
  1529.   PServerInfo1570 = ^TServerInfo1570;
  1530.   _SERVER_INFO_1570 = record
  1531.     sv1570_mdlreadswitchover: DWORD;
  1532.   end;
  1533.   {$EXTERNALSYM _SERVER_INFO_1570}
  1534.   TServerInfo1570 = _SERVER_INFO_1570;
  1535.   SERVER_INFO_1570 = _SERVER_INFO_1570;
  1536.   {$EXTERNALSYM SERVER_INFO_1570}
  1537.   PServerInfo1571 = ^TServerInfo1571;
  1538.   _SERVER_INFO_1571 = record
  1539.     sv1571_cachedopenlimit: DWORD;
  1540.   end;
  1541.   {$EXTERNALSYM _SERVER_INFO_1571}
  1542.   TServerInfo1571 = _SERVER_INFO_1571;
  1543.   SERVER_INFO_1571 = _SERVER_INFO_1571;
  1544.   {$EXTERNALSYM SERVER_INFO_1571}
  1545.   PServerInfo1572 = ^TServerInfo1572;
  1546.   _SERVER_INFO_1572 = record
  1547.     sv1572_criticalthreads: DWORD;
  1548.   end;
  1549.   {$EXTERNALSYM _SERVER_INFO_1572}
  1550.   TServerInfo1572 = _SERVER_INFO_1572;
  1551.   SERVER_INFO_1572 = _SERVER_INFO_1572;
  1552.   {$EXTERNALSYM SERVER_INFO_1572}
  1553.   PServerInfo1573 = ^TServerInfo1573;
  1554.   _SERVER_INFO_1573 = record
  1555.     sv1573_restrictnullsessaccess: DWORD;
  1556.   end;
  1557.   {$EXTERNALSYM _SERVER_INFO_1573}
  1558.   TServerInfo1573 = _SERVER_INFO_1573;
  1559.   SERVER_INFO_1573 = _SERVER_INFO_1573;
  1560.   {$EXTERNALSYM SERVER_INFO_1573}
  1561.   PServerInfo1574 = ^TServerInfo1574;
  1562.   _SERVER_INFO_1574 = record
  1563.     sv1574_enablewfw311directipx: DWORD;
  1564.   end;
  1565.   {$EXTERNALSYM _SERVER_INFO_1574}
  1566.   TServerInfo1574 = _SERVER_INFO_1574;
  1567.   SERVER_INFO_1574 = _SERVER_INFO_1574;
  1568.   {$EXTERNALSYM SERVER_INFO_1574}
  1569.   PServerInfo1575 = ^TServerInfo1575;
  1570.   _SERVER_INFO_1575 = record
  1571.     sv1575_otherqueueaffinity: DWORD;
  1572.   end;
  1573.   {$EXTERNALSYM _SERVER_INFO_1575}
  1574.   TServerInfo1575 = _SERVER_INFO_1575;
  1575.   SERVER_INFO_1575 = _SERVER_INFO_1575;
  1576.   {$EXTERNALSYM SERVER_INFO_1575}
  1577.   PServerInfo1576 = ^TServerInfo1576;
  1578.   _SERVER_INFO_1576 = record
  1579.     sv1576_queuesamplesecs: DWORD;
  1580.   end;
  1581.   {$EXTERNALSYM _SERVER_INFO_1576}
  1582.   TServerInfo1576 = _SERVER_INFO_1576;
  1583.   SERVER_INFO_1576 = _SERVER_INFO_1576;
  1584.   {$EXTERNALSYM SERVER_INFO_1576}
  1585.   PServerInfo1577 = ^TServerInfo1577;
  1586.   _SERVER_INFO_1577 = record
  1587.     sv1577_balancecount: DWORD;
  1588.   end;
  1589.   {$EXTERNALSYM _SERVER_INFO_1577}
  1590.   TServerInfo1577 = _SERVER_INFO_1577;
  1591.   SERVER_INFO_1577 = _SERVER_INFO_1577;
  1592.   {$EXTERNALSYM SERVER_INFO_1577}
  1593.   PServerInfo1578 = ^TServerInfo1578;
  1594.   _SERVER_INFO_1578 = record
  1595.     sv1578_preferredaffinity: DWORD;
  1596.   end;
  1597.   {$EXTERNALSYM _SERVER_INFO_1578}
  1598.   TServerInfo1578 = _SERVER_INFO_1578;
  1599.   SERVER_INFO_1578 = _SERVER_INFO_1578;
  1600.   {$EXTERNALSYM SERVER_INFO_1578}
  1601.   PServerInfo1579 = ^TServerInfo1579;
  1602.   _SERVER_INFO_1579 = record
  1603.     sv1579_maxfreerfcbs: DWORD;
  1604.   end;
  1605.   {$EXTERNALSYM _SERVER_INFO_1579}
  1606.   TServerInfo1579 = _SERVER_INFO_1579;
  1607.   SERVER_INFO_1579 = _SERVER_INFO_1579;
  1608.   {$EXTERNALSYM SERVER_INFO_1579}
  1609.   PServerInfo1580 = ^TServerInfo1580;
  1610.   _SERVER_INFO_1580 = record
  1611.     sv1580_maxfreemfcbs: DWORD;
  1612.   end;
  1613.   {$EXTERNALSYM _SERVER_INFO_1580}
  1614.   TServerInfo1580 = _SERVER_INFO_1580;
  1615.   SERVER_INFO_1580 = _SERVER_INFO_1580;
  1616.   {$EXTERNALSYM SERVER_INFO_1580}
  1617.   PServerInfo1581 = ^TServerInfo1581;
  1618.   _SERVER_INFO_1581 = record
  1619.     sv1581_maxfreemlcbs: DWORD;
  1620.   end;
  1621.   {$EXTERNALSYM _SERVER_INFO_1581}
  1622.   TServerInfo1581 = _SERVER_INFO_1581;
  1623.   SERVER_INFO_1581 = _SERVER_INFO_1581;
  1624.   {$EXTERNALSYM SERVER_INFO_1581}
  1625.   PServerInfo1582 = ^TServerInfo1582;
  1626.   _SERVER_INFO_1582 = record
  1627.     sv1582_maxfreepagedpoolchunks: DWORD;
  1628.   end;
  1629.   {$EXTERNALSYM _SERVER_INFO_1582}
  1630.   TServerInfo1582 = _SERVER_INFO_1582;
  1631.   SERVER_INFO_1582 = _SERVER_INFO_1582;
  1632.   {$EXTERNALSYM SERVER_INFO_1582}
  1633.   PServerInfo1583 = ^TServerInfo1583;
  1634.   _SERVER_INFO_1583 = record
  1635.     sv1583_minpagedpoolchunksize: DWORD;
  1636.   end;
  1637.   {$EXTERNALSYM _SERVER_INFO_1583}
  1638.   TServerInfo1583 = _SERVER_INFO_1583;
  1639.   SERVER_INFO_1583 = _SERVER_INFO_1583;
  1640.   {$EXTERNALSYM SERVER_INFO_1583}
  1641.   PServerInfo1584 = ^TServerInfo1584;
  1642.   _SERVER_INFO_1584 = record
  1643.     sv1584_maxpagedpoolchunksize: DWORD;
  1644.   end;
  1645.   {$EXTERNALSYM _SERVER_INFO_1584}
  1646.   TServerInfo1584 = _SERVER_INFO_1584;
  1647.   SERVER_INFO_1584 = _SERVER_INFO_1584;
  1648.   {$EXTERNALSYM SERVER_INFO_1584}
  1649.   PServerInfo1585 = ^TServerInfo1585;
  1650.   _SERVER_INFO_1585 = record
  1651.     sv1585_sendsfrompreferredprocessor: BOOL;
  1652.   end;
  1653.   {$EXTERNALSYM _SERVER_INFO_1585}
  1654.   TServerInfo1585 = _SERVER_INFO_1585;
  1655.   SERVER_INFO_1585 = _SERVER_INFO_1585;
  1656.   {$EXTERNALSYM SERVER_INFO_1585}
  1657.   PServerInfo1586 = ^TServerInfo1586;
  1658.   _SERVER_INFO_1586 = record
  1659.     sv1586_maxthreadsperqueue: DWORD;
  1660.   end;
  1661.   {$EXTERNALSYM _SERVER_INFO_1586}
  1662.   TServerInfo1586 = _SERVER_INFO_1586;
  1663.   SERVER_INFO_1586 = _SERVER_INFO_1586;
  1664.   {$EXTERNALSYM SERVER_INFO_1586}
  1665.   PServerInfo1587 = ^TServerInfo1587;
  1666.   _SERVER_INFO_1587 = record
  1667.     sv1587_cacheddirectorylimit: DWORD;
  1668.   end;
  1669.   {$EXTERNALSYM _SERVER_INFO_1587}
  1670.   TServerInfo1587 = _SERVER_INFO_1587;
  1671.   SERVER_INFO_1587 = _SERVER_INFO_1587;
  1672.   {$EXTERNALSYM SERVER_INFO_1587}
  1673.   PServerInfo1588 = ^TServerInfo1588;
  1674.   _SERVER_INFO_1588 = record
  1675.     sv1588_maxcopylength: DWORD;
  1676.   end;
  1677.   {$EXTERNALSYM _SERVER_INFO_1588}
  1678.   TServerInfo1588 = _SERVER_INFO_1588;
  1679.   SERVER_INFO_1588 = _SERVER_INFO_1588;
  1680.   {$EXTERNALSYM SERVER_INFO_1588}
  1681.   PServerInfo1590 = ^TServerInfo1590;
  1682.   _SERVER_INFO_1590 = record
  1683.     sv1590_enablecompression: DWORD;
  1684.   end;
  1685.   {$EXTERNALSYM _SERVER_INFO_1590}
  1686.   TServerInfo1590 = _SERVER_INFO_1590;
  1687.   SERVER_INFO_1590 = _SERVER_INFO_1590;
  1688.   {$EXTERNALSYM SERVER_INFO_1590}
  1689.   PServerInfo1591 = ^TServerInfo1591;
  1690.   _SERVER_INFO_1591 = record
  1691.     sv1591_autosharewks: DWORD;
  1692.   end;
  1693.   {$EXTERNALSYM _SERVER_INFO_1591}
  1694.   TServerInfo1591 = _SERVER_INFO_1591;
  1695.   SERVER_INFO_1591 = _SERVER_INFO_1591;
  1696.   {$EXTERNALSYM SERVER_INFO_1591}
  1697.   PServerInfo1592 = ^TServerInfo1592;
  1698.   _SERVER_INFO_1592 = record
  1699.     sv1592_autosharewks: DWORD;
  1700.   end;
  1701.   {$EXTERNALSYM _SERVER_INFO_1592}
  1702.   TServerInfo1592 = _SERVER_INFO_1592;
  1703.   SERVER_INFO_1592 = _SERVER_INFO_1592;
  1704.   {$EXTERNALSYM SERVER_INFO_1592}
  1705.   PServerInfo1593 = ^TServerInfo1593;
  1706.   _SERVER_INFO_1593 = record
  1707.     sv1593_enablesecuritysignature: DWORD;
  1708.   end;
  1709.   {$EXTERNALSYM _SERVER_INFO_1593}
  1710.   TServerInfo1593 = _SERVER_INFO_1593;
  1711.   SERVER_INFO_1593 = _SERVER_INFO_1593;
  1712.   {$EXTERNALSYM SERVER_INFO_1593}
  1713.   PServerInfo1594 = ^TServerInfo1594;
  1714.   _SERVER_INFO_1594 = record
  1715.     sv1594_requiresecuritysignature: DWORD;
  1716.   end;
  1717.   {$EXTERNALSYM _SERVER_INFO_1594}
  1718.   TServerInfo1594 = _SERVER_INFO_1594;
  1719.   SERVER_INFO_1594 = _SERVER_INFO_1594;
  1720.   {$EXTERNALSYM SERVER_INFO_1594}
  1721.   PServerInfo1595 = ^TServerInfo1595;
  1722.   _SERVER_INFO_1595 = record
  1723.     sv1595_minclientbuffersize: DWORD;
  1724.   end;
  1725.   {$EXTERNALSYM _SERVER_INFO_1595}
  1726.   TServerInfo1595 = _SERVER_INFO_1595;
  1727.   SERVER_INFO_1595 = _SERVER_INFO_1595;
  1728.   {$EXTERNALSYM SERVER_INFO_1595}
  1729.   PServerInfo1596 = ^TServerInfo1596;
  1730.   _SERVER_INFO_1596 = record
  1731.     sv1596_ConnectionNoSessionsTimeout: DWORD;
  1732.   end;
  1733.   {$EXTERNALSYM _SERVER_INFO_1596}
  1734.   TServerInfo1596 = _SERVER_INFO_1596;
  1735.   SERVER_INFO_1596 = _SERVER_INFO_1596;
  1736.   {$EXTERNALSYM SERVER_INFO_1596}
  1737.   PServerInfo1597 = ^TServerInfo1597;
  1738.   _SERVER_INFO_1597 = record
  1739.     sv1597_IdleThreadTimeOut: DWORD;
  1740.   end;
  1741.   {$EXTERNALSYM _SERVER_INFO_1597}
  1742.   TServerInfo1597 = _SERVER_INFO_1597;
  1743.   SERVER_INFO_1597 = _SERVER_INFO_1597;
  1744.   {$EXTERNALSYM SERVER_INFO_1597}
  1745.   PServerInfo1598 = ^TServerInfo1598;
  1746.   _SERVER_INFO_1598 = record
  1747.     sv1598_enableW9xsecuritysignature: DWORD;
  1748.   end;
  1749.   {$EXTERNALSYM _SERVER_INFO_1598}
  1750.   TServerInfo1598 = _SERVER_INFO_1598;
  1751.   SERVER_INFO_1598 = _SERVER_INFO_1598;
  1752.   {$EXTERNALSYM SERVER_INFO_1598}
  1753. // A special structure definition is required in order for this
  1754. // structure to work with RPC.  The problem is that having addresslength
  1755. // indicate the number of bytes in address means that RPC must know the
  1756. // link between the two.
  1757.   PServerTransportInfo0 = ^TServerTransportInfo0;
  1758.   _SERVER_TRANSPORT_INFO_0 = record
  1759.     svti0_numberofvcs: DWORD;
  1760.     svti0_transportname: LPWSTR;
  1761.     svti0_transportaddress: Pointer;
  1762.     svti0_transportaddresslength: DWORD;
  1763.     svti0_networkaddress: LPWSTR;
  1764.   end;
  1765.   {$EXTERNALSYM _SERVER_TRANSPORT_INFO_0}
  1766.   TServerTransportInfo0 = _SERVER_TRANSPORT_INFO_0;
  1767.   SERVER_TRANSPORT_INFO_0 = _SERVER_TRANSPORT_INFO_0;
  1768.   {$EXTERNALSYM SERVER_TRANSPORT_INFO_0}
  1769.   PServerTransportInfo1 = ^TServerTransportInfo1;
  1770.   _SERVER_TRANSPORT_INFO_1 = record
  1771.     svti1_numberofvcs: DWORD;
  1772.     svti1_transportname: LPWSTR;
  1773.     svti1_transportaddress: Pointer;
  1774.     svti1_transportaddresslength: DWORD;
  1775.     svti1_networkaddress: LPWSTR;
  1776.     svti1_domain: LPWSTR;
  1777.   end;
  1778.   {$EXTERNALSYM _SERVER_TRANSPORT_INFO_1}
  1779.   TServerTransportInfo1 = _SERVER_TRANSPORT_INFO_1;
  1780.   SERVER_TRANSPORT_INFO_1 = _SERVER_TRANSPORT_INFO_1;
  1781.   {$EXTERNALSYM SERVER_TRANSPORT_INFO_1}
  1782.   PServerTransportInfo2 = ^TServerTransportInfo2;
  1783.   _SERVER_TRANSPORT_INFO_2 = record
  1784.     svti2_numberofvcs: DWORD;
  1785.     svti2_transportname: LPWSTR;
  1786.     svti2_transportaddress: Pointer;
  1787.     svti2_transportaddresslength: DWORD;
  1788.     svti2_networkaddress: LPWSTR;
  1789.     svti2_domain: LPWSTR;
  1790.     svti2_flags: ULONG;
  1791.   end;
  1792.   {$EXTERNALSYM _SERVER_TRANSPORT_INFO_2}
  1793.   TServerTransportInfo2 = _SERVER_TRANSPORT_INFO_2;
  1794.   SERVER_TRANSPORT_INFO_2 = _SERVER_TRANSPORT_INFO_2;
  1795.   {$EXTERNALSYM SERVER_TRANSPORT_INFO_2}
  1796.   PServerTransportInfo3 = ^TServerTransportInfo3;
  1797.   _SERVER_TRANSPORT_INFO_3 = record
  1798.     svti3_numberofvcs: DWORD;
  1799.     svti3_transportname: LPWSTR;
  1800.     svti3_transportaddress: Pointer;
  1801.     svti3_transportaddresslength: DWORD;
  1802.     svti3_networkaddress: LPWSTR;
  1803.     svti3_domain: LPWSTR;
  1804.     svti3_flags: ULONG;
  1805.     svti3_passwordlength: DWORD;
  1806.     svti3_password: packed array[0..255] of Byte;
  1807.   end;
  1808.   {$EXTERNALSYM _SERVER_TRANSPORT_INFO_3}
  1809.   TServerTransportInfo3 = _SERVER_TRANSPORT_INFO_3;
  1810.   SERVER_TRANSPORT_INFO_3 = _SERVER_TRANSPORT_INFO_3;
  1811.   {$EXTERNALSYM SERVER_TRANSPORT_INFO_3}
  1812. // Defines - SERVER
  1813. // The platform ID indicates the levels to use for platform-specific
  1814. // information.
  1815. const
  1816.   SV_PLATFORM_ID_OS2 = 400;
  1817.   {$EXTERNALSYM SV_PLATFORM_ID_OS2}
  1818.   SV_PLATFORM_ID_NT  = 500;
  1819.   {$EXTERNALSYM SV_PLATFORM_ID_NT}
  1820. // Mask to be applied to svX_version_major in order to obtain
  1821. // the major version number.
  1822.   MAJOR_VERSION_MASK  = $0F;
  1823.   {$EXTERNALSYM MAJOR_VERSION_MASK}
  1824. // Bit-mapped values for svX_type fields. X = 1, 2 or 3.
  1825.   SV_TYPE_WORKSTATION         = $00000001;
  1826.   {$EXTERNALSYM SV_TYPE_WORKSTATION}
  1827.   SV_TYPE_SERVER              = $00000002;
  1828.   {$EXTERNALSYM SV_TYPE_SERVER}
  1829.   SV_TYPE_SQLSERVER           = $00000004;
  1830.   {$EXTERNALSYM SV_TYPE_SQLSERVER}
  1831.   SV_TYPE_DOMAIN_CTRL         = $00000008;
  1832.   {$EXTERNALSYM SV_TYPE_DOMAIN_CTRL}
  1833.   SV_TYPE_DOMAIN_BAKCTRL      = $00000010;
  1834.   {$EXTERNALSYM SV_TYPE_DOMAIN_BAKCTRL}
  1835.   SV_TYPE_TIME_SOURCE         = $00000020;
  1836.   {$EXTERNALSYM SV_TYPE_TIME_SOURCE}
  1837.   SV_TYPE_AFP                 = $00000040;
  1838.   {$EXTERNALSYM SV_TYPE_AFP}
  1839.   SV_TYPE_NOVELL              = $00000080;
  1840.   {$EXTERNALSYM SV_TYPE_NOVELL}
  1841.   SV_TYPE_DOMAIN_MEMBER       = $00000100;
  1842.   {$EXTERNALSYM SV_TYPE_DOMAIN_MEMBER}
  1843.   SV_TYPE_PRINTQ_SERVER       = $00000200;
  1844.   {$EXTERNALSYM SV_TYPE_PRINTQ_SERVER}
  1845.   SV_TYPE_DIALIN_SERVER       = $00000400;
  1846.   {$EXTERNALSYM SV_TYPE_DIALIN_SERVER}
  1847.   SV_TYPE_XENIX_SERVER        = $00000800;
  1848.   {$EXTERNALSYM SV_TYPE_XENIX_SERVER}
  1849.   SV_TYPE_SERVER_UNIX         = SV_TYPE_XENIX_SERVER;
  1850.   {$EXTERNALSYM SV_TYPE_SERVER_UNIX}
  1851.   SV_TYPE_NT                  = $00001000;
  1852.   {$EXTERNALSYM SV_TYPE_NT}
  1853.   SV_TYPE_WFW                 = $00002000;
  1854.   {$EXTERNALSYM SV_TYPE_WFW}
  1855.   SV_TYPE_SERVER_MFPN         = $00004000;
  1856.   {$EXTERNALSYM SV_TYPE_SERVER_MFPN}
  1857.   SV_TYPE_SERVER_NT           = $00008000;
  1858.   {$EXTERNALSYM SV_TYPE_SERVER_NT}
  1859.   SV_TYPE_POTENTIAL_BROWSER   = $00010000;
  1860.   {$EXTERNALSYM SV_TYPE_POTENTIAL_BROWSER}
  1861.   SV_TYPE_BACKUP_BROWSER      = $00020000;
  1862.   {$EXTERNALSYM SV_TYPE_BACKUP_BROWSER}
  1863.   SV_TYPE_MASTER_BROWSER      = $00040000;
  1864.   {$EXTERNALSYM SV_TYPE_MASTER_BROWSER}
  1865.   SV_TYPE_DOMAIN_MASTER       = $00080000;
  1866.   {$EXTERNALSYM SV_TYPE_DOMAIN_MASTER}
  1867.   SV_TYPE_SERVER_OSF          = $00100000;
  1868.   {$EXTERNALSYM SV_TYPE_SERVER_OSF}
  1869.   SV_TYPE_SERVER_VMS          = $00200000;
  1870.   {$EXTERNALSYM SV_TYPE_SERVER_VMS}
  1871.   SV_TYPE_WINDOWS             = $00400000;  //* Windows95 and above */
  1872.   {$EXTERNALSYM SV_TYPE_WINDOWS}
  1873.   SV_TYPE_DFS                 = $00800000;  //* Root of a DFS tree */
  1874.   {$EXTERNALSYM SV_TYPE_DFS}
  1875.   SV_TYPE_CLUSTER_NT          = $01000000;  //* NT Cluster */
  1876.   {$EXTERNALSYM SV_TYPE_CLUSTER_NT}
  1877.   SV_TYPE_TERMINALSERVER      = $02000000;  //* Terminal Server(Hydra) */
  1878.   {$EXTERNALSYM SV_TYPE_TERMINALSERVER}
  1879.   SV_TYPE_DCE                 = $10000000;  //* IBM DSS (Directory and Security Services) or equivalent */
  1880.   {$EXTERNALSYM SV_TYPE_DCE}
  1881.   SV_TYPE_ALTERNATE_XPORT     = $20000000;  //* return list for alternate transport */
  1882.   {$EXTERNALSYM SV_TYPE_ALTERNATE_XPORT}
  1883.   SV_TYPE_LOCAL_LIST_ONLY     = $40000000;  //* Return local list only */
  1884.   {$EXTERNALSYM SV_TYPE_LOCAL_LIST_ONLY}
  1885.   SV_TYPE_DOMAIN_ENUM         = $80000000;
  1886.   {$EXTERNALSYM SV_TYPE_DOMAIN_ENUM}
  1887.   SV_TYPE_ALL                 = $FFFFFFFF;  //* handy for NetServerEnum2 */
  1888.   {$EXTERNALSYM SV_TYPE_ALL}
  1889. // Special value for sv102_disc that specifies infinite disconnect
  1890. // time.
  1891.   SV_NODISC           = -1;  //* No autodisconnect timeout enforced */
  1892.   {$EXTERNALSYM SV_NODISC}
  1893. // Values of svX_security field. X = 2 or 3.
  1894.   SV_USERSECURITY     = 1;
  1895.   {$EXTERNALSYM SV_USERSECURITY}
  1896.   SV_SHARESECURITY    = 0;
  1897.   {$EXTERNALSYM SV_SHARESECURITY}
  1898. // Values of svX_hidden field. X = 2 or 3.
  1899.   SV_HIDDEN       = 1;
  1900.   {$EXTERNALSYM SV_HIDDEN}
  1901.   SV_VISIBLE      = 0;
  1902.   {$EXTERNALSYM SV_VISIBLE}
  1903. // Values for ParmError parameter to NetServerSetInfo.
  1904.   SV_PLATFORM_ID_PARMNUM          = 101;
  1905.   {$EXTERNALSYM SV_PLATFORM_ID_PARMNUM}
  1906.   SV_NAME_PARMNUM                 = 102;
  1907.   {$EXTERNALSYM SV_NAME_PARMNUM}
  1908.   SV_VERSION_MAJOR_PARMNUM        = 103;
  1909.   {$EXTERNALSYM SV_VERSION_MAJOR_PARMNUM}
  1910.   SV_VERSION_MINOR_PARMNUM        = 104;
  1911.   {$EXTERNALSYM SV_VERSION_MINOR_PARMNUM}
  1912.   SV_TYPE_PARMNUM                 = 105;
  1913.   {$EXTERNALSYM SV_TYPE_PARMNUM}
  1914.   SV_COMMENT_PARMNUM              = 5;
  1915.   {$EXTERNALSYM SV_COMMENT_PARMNUM}
  1916.   SV_USERS_PARMNUM                = 107;
  1917.   {$EXTERNALSYM SV_USERS_PARMNUM}
  1918.   SV_DISC_PARMNUM                 = 10;
  1919.   {$EXTERNALSYM SV_DISC_PARMNUM}
  1920.   SV_HIDDEN_PARMNUM               = 16;
  1921.   {$EXTERNALSYM SV_HIDDEN_PARMNUM}
  1922.   SV_ANNOUNCE_PARMNUM             = 17;
  1923.   {$EXTERNALSYM SV_ANNOUNCE_PARMNUM}
  1924.   SV_ANNDELTA_PARMNUM             = 18;
  1925.   {$EXTERNALSYM SV_ANNDELTA_PARMNUM}
  1926.   SV_USERPATH_PARMNUM             = 112;
  1927.   {$EXTERNALSYM SV_USERPATH_PARMNUM}
  1928.   SV_ULIST_MTIME_PARMNUM          = 401;
  1929.   {$EXTERNALSYM SV_ULIST_MTIME_PARMNUM}
  1930.   SV_GLIST_MTIME_PARMNUM          = 402;
  1931.   {$EXTERNALSYM SV_GLIST_MTIME_PARMNUM}
  1932.   SV_ALIST_MTIME_PARMNUM          = 403;
  1933.   {$EXTERNALSYM SV_ALIST_MTIME_PARMNUM}
  1934.   SV_ALERTS_PARMNUM               = 11;
  1935.   {$EXTERNALSYM SV_ALERTS_PARMNUM}
  1936.   SV_SECURITY_PARMNUM             = 405;
  1937.   {$EXTERNALSYM SV_SECURITY_PARMNUM}
  1938.   SV_NUMADMIN_PARMNUM             = 406;
  1939.   {$EXTERNALSYM SV_NUMADMIN_PARMNUM}
  1940.   SV_LANMASK_PARMNUM              = 407;
  1941.   {$EXTERNALSYM SV_LANMASK_PARMNUM}
  1942.   SV_GUESTACC_PARMNUM             = 408;
  1943.   {$EXTERNALSYM SV_GUESTACC_PARMNUM}
  1944.   SV_CHDEVQ_PARMNUM               = 410;
  1945.   {$EXTERNALSYM SV_CHDEVQ_PARMNUM}
  1946.   SV_CHDEVJOBS_PARMNUM            = 411;
  1947.   {$EXTERNALSYM SV_CHDEVJOBS_PARMNUM}
  1948.   SV_CONNECTIONS_PARMNUM          = 412;
  1949.   {$EXTERNALSYM SV_CONNECTIONS_PARMNUM}
  1950.   SV_SHARES_PARMNUM               = 413;
  1951.   {$EXTERNALSYM SV_SHARES_PARMNUM}
  1952.   SV_OPENFILES_PARMNUM            = 414;
  1953.   {$EXTERNALSYM SV_OPENFILES_PARMNUM}
  1954.   SV_SESSREQS_PARMNUM             = 417;
  1955.   {$EXTERNALSYM SV_SESSREQS_PARMNUM}
  1956.   SV_ACTIVELOCKS_PARMNUM          = 419;
  1957.   {$EXTERNALSYM SV_ACTIVELOCKS_PARMNUM}
  1958.   SV_NUMREQBUF_PARMNUM            = 420;
  1959.   {$EXTERNALSYM SV_NUMREQBUF_PARMNUM}
  1960.   SV_NUMBIGBUF_PARMNUM            = 422;
  1961.   {$EXTERNALSYM SV_NUMBIGBUF_PARMNUM}
  1962.   SV_NUMFILETASKS_PARMNUM         = 423;
  1963.   {$EXTERNALSYM SV_NUMFILETASKS_PARMNUM}
  1964.   SV_ALERTSCHED_PARMNUM           = 37;
  1965.   {$EXTERNALSYM SV_ALERTSCHED_PARMNUM}
  1966.   SV_ERRORALERT_PARMNUM           = 38;
  1967.   {$EXTERNALSYM SV_ERRORALERT_PARMNUM}
  1968.   SV_LOGONALERT_PARMNUM           = 39;
  1969.   {$EXTERNALSYM SV_LOGONALERT_PARMNUM}
  1970.   SV_ACCESSALERT_PARMNUM          = 40;
  1971.   {$EXTERNALSYM SV_ACCESSALERT_PARMNUM}
  1972.   SV_DISKALERT_PARMNUM            = 41;
  1973.   {$EXTERNALSYM SV_DISKALERT_PARMNUM}
  1974.   SV_NETIOALERT_PARMNUM           = 42;
  1975.   {$EXTERNALSYM SV_NETIOALERT_PARMNUM}
  1976.   SV_MAXAUDITSZ_PARMNUM           = 43;
  1977.   {$EXTERNALSYM SV_MAXAUDITSZ_PARMNUM}
  1978.   SV_SRVHEURISTICS_PARMNUM        = 431;
  1979.   {$EXTERNALSYM SV_SRVHEURISTICS_PARMNUM}
  1980.   SV_SESSOPENS_PARMNUM                = 501;
  1981.   {$EXTERNALSYM SV_SESSOPENS_PARMNUM}
  1982.   SV_SESSVCS_PARMNUM                  = 502;
  1983.   {$EXTERNALSYM SV_SESSVCS_PARMNUM}
  1984.   SV_OPENSEARCH_PARMNUM               = 503;
  1985.   {$EXTERNALSYM SV_OPENSEARCH_PARMNUM}
  1986.   SV_SIZREQBUF_PARMNUM                = 504;
  1987.   {$EXTERNALSYM SV_SIZREQBUF_PARMNUM}
  1988.   SV_INITWORKITEMS_PARMNUM            = 505;
  1989.   {$EXTERNALSYM SV_INITWORKITEMS_PARMNUM}
  1990.   SV_MAXWORKITEMS_PARMNUM             = 506;
  1991.   {$EXTERNALSYM SV_MAXWORKITEMS_PARMNUM}
  1992.   SV_RAWWORKITEMS_PARMNUM             = 507;
  1993.   {$EXTERNALSYM SV_RAWWORKITEMS_PARMNUM}
  1994.   SV_IRPSTACKSIZE_PARMNUM             = 508;
  1995.   {$EXTERNALSYM SV_IRPSTACKSIZE_PARMNUM}
  1996.   SV_MAXRAWBUFLEN_PARMNUM             = 509;
  1997.   {$EXTERNALSYM SV_MAXRAWBUFLEN_PARMNUM}
  1998.   SV_SESSUSERS_PARMNUM                = 510;
  1999.   {$EXTERNALSYM SV_SESSUSERS_PARMNUM}
  2000.   SV_SESSCONNS_PARMNUM                = 511;
  2001.   {$EXTERNALSYM SV_SESSCONNS_PARMNUM}
  2002.   SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM   = 512;
  2003.   {$EXTERNALSYM SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM}
  2004.   SV_MAXPAGEDMEMORYUSAGE_PARMNUM      = 513;
  2005.   {$EXTERNALSYM SV_MAXPAGEDMEMORYUSAGE_PARMNUM}
  2006.   SV_ENABLESOFTCOMPAT_PARMNUM         = 514;
  2007.   {$EXTERNALSYM SV_ENABLESOFTCOMPAT_PARMNUM}
  2008.   SV_ENABLEFORCEDLOGOFF_PARMNUM       = 515;
  2009.   {$EXTERNALSYM SV_ENABLEFORCEDLOGOFF_PARMNUM}
  2010.   SV_TIMESOURCE_PARMNUM               = 516;
  2011.   {$EXTERNALSYM SV_TIMESOURCE_PARMNUM}
  2012.   SV_ACCEPTDOWNLEVELAPIS_PARMNUM      = 517;
  2013.   {$EXTERNALSYM SV_ACCEPTDOWNLEVELAPIS_PARMNUM}
  2014.   SV_LMANNOUNCE_PARMNUM               = 518;
  2015.   {$EXTERNALSYM SV_LMANNOUNCE_PARMNUM}
  2016.   SV_DOMAIN_PARMNUM                   = 519;
  2017.   {$EXTERNALSYM SV_DOMAIN_PARMNUM}
  2018.   SV_MAXCOPYREADLEN_PARMNUM           = 520;
  2019.   {$EXTERNALSYM SV_MAXCOPYREADLEN_PARMNUM}
  2020.   SV_MAXCOPYWRITELEN_PARMNUM          = 521;
  2021.   {$EXTERNALSYM SV_MAXCOPYWRITELEN_PARMNUM}
  2022.   SV_MINKEEPSEARCH_PARMNUM            = 522;
  2023.   {$EXTERNALSYM SV_MINKEEPSEARCH_PARMNUM}
  2024.   SV_MAXKEEPSEARCH_PARMNUM            = 523;
  2025.   {$EXTERNALSYM SV_MAXKEEPSEARCH_PARMNUM}
  2026.   SV_MINKEEPCOMPLSEARCH_PARMNUM       = 524;
  2027.   {$EXTERNALSYM SV_MINKEEPCOMPLSEARCH_PARMNUM}
  2028.   SV_MAXKEEPCOMPLSEARCH_PARMNUM       = 525;
  2029.   {$EXTERNALSYM SV_MAXKEEPCOMPLSEARCH_PARMNUM}
  2030.   SV_THREADCOUNTADD_PARMNUM           = 526;
  2031.   {$EXTERNALSYM SV_THREADCOUNTADD_PARMNUM}
  2032.   SV_NUMBLOCKTHREADS_PARMNUM          = 527;
  2033.   {$EXTERNALSYM SV_NUMBLOCKTHREADS_PARMNUM}
  2034.   SV_SCAVTIMEOUT_PARMNUM              = 528;
  2035.   {$EXTERNALSYM SV_SCAVTIMEOUT_PARMNUM}
  2036.   SV_MINRCVQUEUE_PARMNUM              = 529;
  2037.   {$EXTERNALSYM SV_MINRCVQUEUE_PARMNUM}
  2038.   SV_MINFREEWORKITEMS_PARMNUM         = 530;
  2039.   {$EXTERNALSYM SV_MINFREEWORKITEMS_PARMNUM}
  2040.   SV_XACTMEMSIZE_PARMNUM              = 531;
  2041.   {$EXTERNALSYM SV_XACTMEMSIZE_PARMNUM}
  2042.   SV_THREADPRIORITY_PARMNUM           = 532;
  2043.   {$EXTERNALSYM SV_THREADPRIORITY_PARMNUM}
  2044.   SV_MAXMPXCT_PARMNUM                 = 533;
  2045.   {$EXTERNALSYM SV_MAXMPXCT_PARMNUM}
  2046.   SV_OPLOCKBREAKWAIT_PARMNUM          = 534;
  2047.   {$EXTERNALSYM SV_OPLOCKBREAKWAIT_PARMNUM}
  2048.   SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM  = 535;
  2049.   {$EXTERNALSYM SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM}
  2050.   SV_ENABLEOPLOCKS_PARMNUM            = 536;
  2051.   {$EXTERNALSYM SV_ENABLEOPLOCKS_PARMNUM}
  2052.   SV_ENABLEOPLOCKFORCECLOSE_PARMNUM   = 537;
  2053.   {$EXTERNALSYM SV_ENABLEOPLOCKFORCECLOSE_PARMNUM}
  2054.   SV_ENABLEFCBOPENS_PARMNUM           = 538;
  2055.   {$EXTERNALSYM SV_ENABLEFCBOPENS_PARMNUM}
  2056.   SV_ENABLERAW_PARMNUM                = 539;
  2057.   {$EXTERNALSYM SV_ENABLERAW_PARMNUM}
  2058.   SV_ENABLESHAREDNETDRIVES_PARMNUM    = 540;
  2059.   {$EXTERNALSYM SV_ENABLESHAREDNETDRIVES_PARMNUM}
  2060.   SV_MINFREECONNECTIONS_PARMNUM       = 541;
  2061.   {$EXTERNALSYM SV_MINFREECONNECTIONS_PARMNUM}
  2062.   SV_MAXFREECONNECTIONS_PARMNUM       = 542;
  2063.   {$EXTERNALSYM SV_MAXFREECONNECTIONS_PARMNUM}
  2064.   SV_INITSESSTABLE_PARMNUM            = 543;
  2065.   {$EXTERNALSYM SV_INITSESSTABLE_PARMNUM}
  2066.   SV_INITCONNTABLE_PARMNUM            = 544;
  2067.   {$EXTERNALSYM SV_INITCONNTABLE_PARMNUM}
  2068.   SV_INITFILETABLE_PARMNUM            = 545;
  2069.   {$EXTERNALSYM SV_INITFILETABLE_PARMNUM}
  2070.   SV_INITSEARCHTABLE_PARMNUM          = 546;
  2071.   {$EXTERNALSYM SV_INITSEARCHTABLE_PARMNUM}
  2072.   SV_ALERTSCHEDULE_PARMNUM            = 547;
  2073.   {$EXTERNALSYM SV_ALERTSCHEDULE_PARMNUM}
  2074.   SV_ERRORTHRESHOLD_PARMNUM           = 548;
  2075.   {$EXTERNALSYM SV_ERRORTHRESHOLD_PARMNUM}
  2076.   SV_NETWORKERRORTHRESHOLD_PARMNUM    = 549;
  2077.   {$EXTERNALSYM SV_NETWORKERRORTHRESHOLD_PARMNUM}
  2078.   SV_DISKSPACETHRESHOLD_PARMNUM       = 550;
  2079.   {$EXTERNALSYM SV_DISKSPACETHRESHOLD_PARMNUM}
  2080.   SV_MAXLINKDELAY_PARMNUM             = 552;
  2081.   {$EXTERNALSYM SV_MAXLINKDELAY_PARMNUM}
  2082.   SV_MINLINKTHROUGHPUT_PARMNUM        = 553;
  2083.   {$EXTERNALSYM SV_MINLINKTHROUGHPUT_PARMNUM}
  2084.   SV_LINKINFOVALIDTIME_PARMNUM        = 554;
  2085.   {$EXTERNALSYM SV_LINKINFOVALIDTIME_PARMNUM}
  2086.   SV_SCAVQOSINFOUPDATETIME_PARMNUM    = 555;
  2087.   {$EXTERNALSYM SV_SCAVQOSINFOUPDATETIME_PARMNUM}
  2088.   SV_MAXWORKITEMIDLETIME_PARMNUM      = 556;
  2089.   {$EXTERNALSYM SV_MAXWORKITEMIDLETIME_PARMNUM}
  2090.   SV_MAXRAWWORKITEMS_PARMNUM          = 557;
  2091.   {$EXTERNALSYM SV_MAXRAWWORKITEMS_PARMNUM}
  2092.   SV_PRODUCTTYPE_PARMNUM              = 560;
  2093.   {$EXTERNALSYM SV_PRODUCTTYPE_PARMNUM}
  2094.   SV_SERVERSIZE_PARMNUM               = 561;
  2095.   {$EXTERNALSYM SV_SERVERSIZE_PARMNUM}
  2096.   SV_CONNECTIONLESSAUTODISC_PARMNUM   = 562;
  2097.   {$EXTERNALSYM SV_CONNECTIONLESSAUTODISC_PARMNUM}
  2098.   SV_SHARINGVIOLATIONRETRIES_PARMNUM  = 563;
  2099.   {$EXTERNALSYM SV_SHARINGVIOLATIONRETRIES_PARMNUM}
  2100.   SV_SHARINGVIOLATIONDELAY_PARMNUM    = 564;
  2101.   {$EXTERNALSYM SV_SHARINGVIOLATIONDELAY_PARMNUM}
  2102.   SV_MAXGLOBALOPENSEARCH_PARMNUM      = 565;
  2103.   {$EXTERNALSYM SV_MAXGLOBALOPENSEARCH_PARMNUM}
  2104.   SV_REMOVEDUPLICATESEARCHES_PARMNUM  = 566;
  2105.   {$EXTERNALSYM SV_REMOVEDUPLICATESEARCHES_PARMNUM}
  2106.   SV_LOCKVIOLATIONRETRIES_PARMNUM     = 567;
  2107.   {$EXTERNALSYM SV_LOCKVIOLATIONRETRIES_PARMNUM}
  2108.   SV_LOCKVIOLATIONOFFSET_PARMNUM      = 568;
  2109.   {$EXTERNALSYM SV_LOCKVIOLATIONOFFSET_PARMNUM}
  2110.   SV_LOCKVIOLATIONDELAY_PARMNUM       = 569;
  2111.   {$EXTERNALSYM SV_LOCKVIOLATIONDELAY_PARMNUM}
  2112.   SV_MDLREADSWITCHOVER_PARMNUM        = 570;
  2113.   {$EXTERNALSYM SV_MDLREADSWITCHOVER_PARMNUM}
  2114.   SV_CACHEDOPENLIMIT_PARMNUM          = 571;
  2115.   {$EXTERNALSYM SV_CACHEDOPENLIMIT_PARMNUM}
  2116.   SV_CRITICALTHREADS_PARMNUM          = 572;
  2117.   {$EXTERNALSYM SV_CRITICALTHREADS_PARMNUM}
  2118.   SV_RESTRICTNULLSESSACCESS_PARMNUM   = 573;
  2119.   {$EXTERNALSYM SV_RESTRICTNULLSESSACCESS_PARMNUM}
  2120.   SV_ENABLEWFW311DIRECTIPX_PARMNUM    = 574;
  2121.   {$EXTERNALSYM SV_ENABLEWFW311DIRECTIPX_PARMNUM}
  2122.   SV_OTHERQUEUEAFFINITY_PARMNUM       = 575;
  2123.   {$EXTERNALSYM SV_OTHERQUEUEAFFINITY_PARMNUM}
  2124.   SV_QUEUESAMPLESECS_PARMNUM          = 576;
  2125.   {$EXTERNALSYM SV_QUEUESAMPLESECS_PARMNUM}
  2126.   SV_BALANCECOUNT_PARMNUM             = 577;
  2127.   {$EXTERNALSYM SV_BALANCECOUNT_PARMNUM}
  2128.   SV_PREFERREDAFFINITY_PARMNUM        = 578;
  2129.   {$EXTERNALSYM SV_PREFERREDAFFINITY_PARMNUM}
  2130.   SV_MAXFREERFCBS_PARMNUM             = 579;
  2131.   {$EXTERNALSYM SV_MAXFREERFCBS_PARMNUM}
  2132.   SV_MAXFREEMFCBS_PARMNUM             = 580;
  2133.   {$EXTERNALSYM SV_MAXFREEMFCBS_PARMNUM}
  2134.   SV_MAXFREELFCBS_PARMNUM             = 581;
  2135.   {$EXTERNALSYM SV_MAXFREELFCBS_PARMNUM}
  2136.   SV_MAXFREEPAGEDPOOLCHUNKS_PARMNUM   = 582;
  2137.   {$EXTERNALSYM SV_MAXFREEPAGEDPOOLCHUNKS_PARMNUM}
  2138.   SV_MINPAGEDPOOLCHUNKSIZE_PARMNUM    = 583;
  2139.   {$EXTERNALSYM SV_MINPAGEDPOOLCHUNKSIZE_PARMNUM}
  2140.   SV_MAXPAGEDPOOLCHUNKSIZE_PARMNUM    = 584;
  2141.   {$EXTERNALSYM SV_MAXPAGEDPOOLCHUNKSIZE_PARMNUM}
  2142.   SV_SENDSFROMPREFERREDPROCESSOR_PARMNUM    = 585;
  2143.   {$EXTERNALSYM SV_SENDSFROMPREFERREDPROCESSOR_PARMNUM}
  2144.   SV_MAXTHREADSPERQUEUE_PARMNUM       = 586;
  2145.   {$EXTERNALSYM SV_MAXTHREADSPERQUEUE_PARMNUM}
  2146.   SV_CACHEDDIRECTORYLIMIT_PARMNUM     = 587;
  2147.   {$EXTERNALSYM SV_CACHEDDIRECTORYLIMIT_PARMNUM}
  2148.   SV_MAXCOPYLENGTH_PARMNUM            = 588;
  2149.   {$EXTERNALSYM SV_MAXCOPYLENGTH_PARMNUM}
  2150.   SV_ENABLECOMPRESSION_PARMNUM        = 590;
  2151.   {$EXTERNALSYM SV_ENABLECOMPRESSION_PARMNUM}
  2152.   SV_AUTOSHAREWKS_PARMNUM             = 591;
  2153.   {$EXTERNALSYM SV_AUTOSHAREWKS_PARMNUM}
  2154.   SV_AUTOSHARESERVER_PARMNUM          = 592;
  2155.   {$EXTERNALSYM SV_AUTOSHARESERVER_PARMNUM}
  2156.   SV_ENABLESECURITYSIGNATURE_PARMNUM  = 593;
  2157.   {$EXTERNALSYM SV_ENABLESECURITYSIGNATURE_PARMNUM}
  2158.   SV_REQUIRESECURITYSIGNATURE_PARMNUM = 594;
  2159.   {$EXTERNALSYM SV_REQUIRESECURITYSIGNATURE_PARMNUM}
  2160.   SV_MINCLIENTBUFFERSIZE_PARMNUM      = 595;
  2161.   {$EXTERNALSYM SV_MINCLIENTBUFFERSIZE_PARMNUM}
  2162.   SV_CONNECTIONNOSESSIONSTIMEOUT_PARMNUM = 596;
  2163.   {$EXTERNALSYM SV_CONNECTIONNOSESSIONSTIMEOUT_PARMNUM}
  2164.   SV_IDLETHREADTIMEOUT_PARMNUM        = 597;
  2165.   {$EXTERNALSYM SV_IDLETHREADTIMEOUT_PARMNUM}
  2166.   SV_ENABLEW9XSECURITYSIGNATURE_PARMNUM        = 598;
  2167.   {$EXTERNALSYM SV_ENABLEW9XSECURITYSIGNATURE_PARMNUM}
  2168. // Single-field infolevels for NetServerSetInfo.
  2169.   SV_COMMENT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_COMMENT_PARMNUM);
  2170.   {$EXTERNALSYM SV_COMMENT_INFOLEVEL}
  2171.   SV_USERS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_USERS_PARMNUM);
  2172.   {$EXTERNALSYM SV_USERS_INFOLEVEL}
  2173.   SV_DISC_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_DISC_PARMNUM);
  2174.   {$EXTERNALSYM SV_DISC_INFOLEVEL}
  2175.   SV_HIDDEN_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_HIDDEN_PARMNUM);
  2176.   {$EXTERNALSYM SV_HIDDEN_INFOLEVEL}
  2177.   SV_ANNOUNCE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_ANNOUNCE_PARMNUM);
  2178.   {$EXTERNALSYM SV_ANNOUNCE_INFOLEVEL}
  2179.   SV_ANNDELTA_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_ANNDELTA_PARMNUM);
  2180.   {$EXTERNALSYM SV_ANNDELTA_INFOLEVEL}
  2181.   SV_SESSOPENS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_SESSOPENS_PARMNUM);
  2182.   {$EXTERNALSYM SV_SESSOPENS_INFOLEVEL}
  2183.   SV_SESSVCS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_SESSVCS_PARMNUM);
  2184.   {$EXTERNALSYM SV_SESSVCS_INFOLEVEL}
  2185.   SV_OPENSEARCH_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_OPENSEARCH_PARMNUM);
  2186.   {$EXTERNALSYM SV_OPENSEARCH_INFOLEVEL}
  2187.   SV_MAXWORKITEMS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXWORKITEMS_PARMNUM);
  2188.   {$EXTERNALSYM SV_MAXWORKITEMS_INFOLEVEL}
  2189.   SV_MAXRAWBUFLEN_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXRAWBUFLEN_PARMNUM);
  2190.   {$EXTERNALSYM SV_MAXRAWBUFLEN_INFOLEVEL}
  2191.   SV_SESSUSERS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_SESSUSERS_PARMNUM);
  2192.   {$EXTERNALSYM SV_SESSUSERS_INFOLEVEL}
  2193.   SV_SESSCONNS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_SESSCONNS_PARMNUM);
  2194.   {$EXTERNALSYM SV_SESSCONNS_INFOLEVEL}
  2195.   SV_MAXNONPAGEDMEMORYUSAGE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM);
  2196.   {$EXTERNALSYM SV_MAXNONPAGEDMEMORYUSAGE_INFOLEVEL}
  2197.   SV_MAXPAGEDMEMORYUSAGE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXPAGEDMEMORYUSAGE_PARMNUM);
  2198.   {$EXTERNALSYM SV_MAXPAGEDMEMORYUSAGE_INFOLEVEL}
  2199.   SV_ENABLESOFTCOMPAT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_ENABLESOFTCOMPAT_PARMNUM);
  2200.   {$EXTERNALSYM SV_ENABLESOFTCOMPAT_INFOLEVEL}
  2201.   SV_ENABLEFORCEDLOGOFF_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_ENABLEFORCEDLOGOFF_PARMNUM);
  2202.   {$EXTERNALSYM SV_ENABLEFORCEDLOGOFF_INFOLEVEL}
  2203.   SV_TIMESOURCE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_TIMESOURCE_PARMNUM);
  2204.   {$EXTERNALSYM SV_TIMESOURCE_INFOLEVEL}
  2205.   SV_LMANNOUNCE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_LMANNOUNCE_PARMNUM);
  2206.   {$EXTERNALSYM SV_LMANNOUNCE_INFOLEVEL}
  2207.   SV_MAXCOPYREADLEN_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXCOPYREADLEN_PARMNUM);
  2208.   {$EXTERNALSYM SV_MAXCOPYREADLEN_INFOLEVEL}
  2209.   SV_MAXCOPYWRITELEN_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXCOPYWRITELEN_PARMNUM);
  2210.   {$EXTERNALSYM SV_MAXCOPYWRITELEN_INFOLEVEL}
  2211.   SV_MINKEEPSEARCH_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MINKEEPSEARCH_PARMNUM);
  2212.   {$EXTERNALSYM SV_MINKEEPSEARCH_INFOLEVEL}
  2213.   SV_MAXKEEPSEARCH_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXKEEPSEARCH_PARMNUM);
  2214.   {$EXTERNALSYM SV_MAXKEEPSEARCH_INFOLEVEL}
  2215.   SV_MINKEEPCOMPLSEARCH_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MINKEEPCOMPLSEARCH_PARMNUM);
  2216.   {$EXTERNALSYM SV_MINKEEPCOMPLSEARCH_INFOLEVEL}
  2217.   SV_MAXKEEPCOMPLSEARCH_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXKEEPCOMPLSEARCH_PARMNUM);
  2218.   {$EXTERNALSYM SV_MAXKEEPCOMPLSEARCH_INFOLEVEL}
  2219.   SV_SCAVTIMEOUT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_SCAVTIMEOUT_PARMNUM);
  2220.   {$EXTERNALSYM SV_SCAVTIMEOUT_INFOLEVEL}
  2221.   SV_MINRCVQUEUE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MINRCVQUEUE_PARMNUM);
  2222.   {$EXTERNALSYM SV_MINRCVQUEUE_INFOLEVEL}
  2223.   SV_MINFREEWORKITEMS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MINFREEWORKITEMS_PARMNUM);
  2224.   {$EXTERNALSYM SV_MINFREEWORKITEMS_INFOLEVEL}
  2225.   SV_MAXMPXCT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXMPXCT_PARMNUM);
  2226.   {$EXTERNALSYM SV_MAXMPXCT_INFOLEVEL}
  2227.   SV_OPLOCKBREAKWAIT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_OPLOCKBREAKWAIT_PARMNUM);
  2228.   {$EXTERNALSYM SV_OPLOCKBREAKWAIT_INFOLEVEL}
  2229.   SV_OPLOCKBREAKRESPONSEWAIT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM);
  2230.   {$EXTERNALSYM SV_OPLOCKBREAKRESPONSEWAIT_INFOLEVEL}
  2231.   SV_ENABLEOPLOCKS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_ENABLEOPLOCKS_PARMNUM);
  2232.   {$EXTERNALSYM SV_ENABLEOPLOCKS_INFOLEVEL}
  2233.   SV_ENABLEOPLOCKFORCECLOSE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_ENABLEOPLOCKFORCECLOSE_PARMNUM);
  2234.   {$EXTERNALSYM SV_ENABLEOPLOCKFORCECLOSE_INFOLEVEL}
  2235.   SV_ENABLEFCBOPENS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_ENABLEFCBOPENS_PARMNUM);
  2236.   {$EXTERNALSYM SV_ENABLEFCBOPENS_INFOLEVEL}
  2237.   SV_ENABLERAW_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_ENABLERAW_PARMNUM);
  2238.   {$EXTERNALSYM SV_ENABLERAW_INFOLEVEL}
  2239.   SV_ENABLESHAREDNETDRIVES_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_ENABLESHAREDNETDRIVES_PARMNUM);
  2240.   {$EXTERNALSYM SV_ENABLESHAREDNETDRIVES_INFOLEVEL}
  2241.   SV_MINFREECONNECTIONS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MINFREECONNECTIONS_PARMNUM);
  2242.   {$EXTERNALSYM SV_MINFREECONNECTIONS_INFOLEVEL}
  2243.   SV_MAXFREECONNECTIONS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXFREECONNECTIONS_PARMNUM);
  2244.   {$EXTERNALSYM SV_MAXFREECONNECTIONS_INFOLEVEL}
  2245.   SV_INITSESSTABLE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_INITSESSTABLE_PARMNUM);
  2246.   {$EXTERNALSYM SV_INITSESSTABLE_INFOLEVEL}
  2247.   SV_INITCONNTABLE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_INITCONNTABLE_PARMNUM);
  2248.   {$EXTERNALSYM SV_INITCONNTABLE_INFOLEVEL}
  2249.   SV_INITFILETABLE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_INITFILETABLE_PARMNUM);
  2250.   {$EXTERNALSYM SV_INITFILETABLE_INFOLEVEL}
  2251.   SV_INITSEARCHTABLE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_INITSEARCHTABLE_PARMNUM);
  2252.   {$EXTERNALSYM SV_INITSEARCHTABLE_INFOLEVEL}
  2253.   SV_ALERTSCHEDULE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_ALERTSCHEDULE_PARMNUM);
  2254.   {$EXTERNALSYM SV_ALERTSCHEDULE_INFOLEVEL}
  2255.   SV_ERRORTHRESHOLD_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_ERRORTHRESHOLD_PARMNUM);
  2256.   {$EXTERNALSYM SV_ERRORTHRESHOLD_INFOLEVEL}
  2257.   SV_NETWORKERRORTHRESHOLD_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_NETWORKERRORTHRESHOLD_PARMNUM);
  2258.   {$EXTERNALSYM SV_NETWORKERRORTHRESHOLD_INFOLEVEL}
  2259.   SV_DISKSPACETHRESHOLD_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_DISKSPACETHRESHOLD_PARMNUM);
  2260.   {$EXTERNALSYM SV_DISKSPACETHRESHOLD_INFOLEVEL}
  2261.   SV_MAXLINKDELAY_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXLINKDELAY_PARMNUM);
  2262.   {$EXTERNALSYM SV_MAXLINKDELAY_INFOLEVEL}
  2263.   SV_MINLINKTHROUGHPUT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MINLINKTHROUGHPUT_PARMNUM);
  2264.   {$EXTERNALSYM SV_MINLINKTHROUGHPUT_INFOLEVEL}
  2265.   SV_LINKINFOVALIDTIME_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_LINKINFOVALIDTIME_PARMNUM);
  2266.   {$EXTERNALSYM SV_LINKINFOVALIDTIME_INFOLEVEL}
  2267.   SV_SCAVQOSINFOUPDATETIME_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_SCAVQOSINFOUPDATETIME_PARMNUM);
  2268.   {$EXTERNALSYM SV_SCAVQOSINFOUPDATETIME_INFOLEVEL}
  2269.   SV_MAXWORKITEMIDLETIME_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXWORKITEMIDLETIME_PARMNUM);
  2270.   {$EXTERNALSYM SV_MAXWORKITEMIDLETIME_INFOLEVEL}
  2271.   SV_MAXRAWWORKITEMS_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXRAWWORKITEMS_PARMNUM);
  2272.   {$EXTERNALSYM SV_MAXRAWWORKITEMS_INFOLOEVEL}
  2273.   SV_PRODUCTTYPE_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_PRODUCTTYPE_PARMNUM);
  2274.   {$EXTERNALSYM SV_PRODUCTTYPE_INFOLOEVEL}
  2275.   SV_SERVERSIZE_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_SERVERSIZE_PARMNUM);
  2276.   {$EXTERNALSYM SV_SERVERSIZE_INFOLOEVEL}
  2277.   SV_CONNECTIONLESSAUTODISC_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_CONNECTIONLESSAUTODISC_PARMNUM);
  2278.   {$EXTERNALSYM SV_CONNECTIONLESSAUTODISC_INFOLOEVEL}
  2279.   SV_SHARINGVIOLATIONRETRIES_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_SHARINGVIOLATIONRETRIES_PARMNUM);
  2280.   {$EXTERNALSYM SV_SHARINGVIOLATIONRETRIES_INFOLOEVEL}
  2281.   SV_SHARINGVIOLATIONDELAY_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_SHARINGVIOLATIONDELAY_PARMNUM);
  2282.   {$EXTERNALSYM SV_SHARINGVIOLATIONDELAY_INFOLOEVEL}
  2283.   SV_MAXGLOBALOPENSEARCH_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXGLOBALOPENSEARCH_PARMNUM);
  2284.   {$EXTERNALSYM SV_MAXGLOBALOPENSEARCH_INFOLOEVEL}
  2285.   SV_REMOVEDUPLICATESEARCHES_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_REMOVEDUPLICATESEARCHES_PARMNUM);
  2286.   {$EXTERNALSYM SV_REMOVEDUPLICATESEARCHES_INFOLOEVEL}
  2287.   SV_LOCKVIOLATIONRETRIES_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_LOCKVIOLATIONRETRIES_PARMNUM);
  2288.   {$EXTERNALSYM SV_LOCKVIOLATIONRETRIES_INFOLOEVEL}
  2289.   SV_LOCKVIOLATIONOFFSET_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_LOCKVIOLATIONOFFSET_PARMNUM);
  2290.   {$EXTERNALSYM SV_LOCKVIOLATIONOFFSET_INFOLOEVEL}
  2291.   SV_LOCKVIOLATIONDELAY_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_LOCKVIOLATIONDELAY_PARMNUM);
  2292.   {$EXTERNALSYM SV_LOCKVIOLATIONDELAY_INFOLOEVEL}
  2293.   SV_MDLREADSWITCHOVER_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MDLREADSWITCHOVER_PARMNUM);
  2294.   {$EXTERNALSYM SV_MDLREADSWITCHOVER_INFOLOEVEL}
  2295.   SV_CACHEDOPENLIMIT_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_CACHEDOPENLIMIT_PARMNUM);
  2296.   {$EXTERNALSYM SV_CACHEDOPENLIMIT_INFOLOEVEL}
  2297.   SV_CRITICALTHREADS_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_CRITICALTHREADS_PARMNUM);
  2298.   {$EXTERNALSYM SV_CRITICALTHREADS_INFOLOEVEL}
  2299.   SV_RESTRICTNULLSESSACCESS_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_RESTRICTNULLSESSACCESS_PARMNUM);
  2300.   {$EXTERNALSYM SV_RESTRICTNULLSESSACCESS_INFOLOEVEL}
  2301.   SV_ENABLEWFW311DIRECTIPX_INFOLOEVEL = (PARMNUM_BASE_INFOLEVEL + SV_ENABLEWFW311DIRECTIPX_PARMNUM);
  2302.   {$EXTERNALSYM SV_ENABLEWFW311DIRECTIPX_INFOLOEVEL}
  2303.   SV_OTHERQUEUEAFFINITY_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_OTHERQUEUEAFFINITY_PARMNUM);
  2304.   {$EXTERNALSYM SV_OTHERQUEUEAFFINITY_INFOLEVEL}
  2305.   SV_QUEUESAMPLESECS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_QUEUESAMPLESECS_PARMNUM);
  2306.   {$EXTERNALSYM SV_QUEUESAMPLESECS_INFOLEVEL}
  2307.   SV_BALANCECOUNT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_BALANCECOUNT_PARMNUM);
  2308.   {$EXTERNALSYM SV_BALANCECOUNT_INFOLEVEL}
  2309.   SV_PREFERREDAFFINITY_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_PREFERREDAFFINITY_PARMNUM);
  2310.   {$EXTERNALSYM SV_PREFERREDAFFINITY_INFOLEVEL}
  2311.   SV_MAXFREERFCBS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXFREERFCBS_PARMNUM);
  2312.   {$EXTERNALSYM SV_MAXFREERFCBS_INFOLEVEL}
  2313.   SV_MAXFREEMFCBS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXFREEMFCBS_PARMNUM);
  2314.   {$EXTERNALSYM SV_MAXFREEMFCBS_INFOLEVEL}
  2315.   SV_MAXFREELFCBS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXFREELFCBS_PARMNUM);
  2316.   {$EXTERNALSYM SV_MAXFREELFCBS_INFOLEVEL}
  2317.   SV_MAXFREEPAGEDPOOLCHUNKS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXFREEPAGEDPOOLCHUNKS_PARMNUM);
  2318.   {$EXTERNALSYM SV_MAXFREEPAGEDPOOLCHUNKS_INFOLEVEL}
  2319.   SV_MINPAGEDPOOLCHUNKSIZE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MINPAGEDPOOLCHUNKSIZE_PARMNUM);
  2320.   {$EXTERNALSYM SV_MINPAGEDPOOLCHUNKSIZE_INFOLEVEL}
  2321.   SV_MAXPAGEDPOOLCHUNKSIZE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXPAGEDPOOLCHUNKSIZE_PARMNUM);
  2322.   {$EXTERNALSYM SV_MAXPAGEDPOOLCHUNKSIZE_INFOLEVEL}
  2323.   SV_SENDSFROMPREFERREDPROCESSOR_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_SENDSFROMPREFERREDPROCESSOR_PARMNUM);
  2324.   {$EXTERNALSYM SV_SENDSFROMPREFERREDPROCESSOR_INFOLEVEL}
  2325.   SV_MAXTHREADSPERQUEUE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXTHREADSPERQUEUE_PARMNUM);
  2326.   {$EXTERNALSYM SV_MAXTHREADSPERQUEUE_INFOLEVEL}
  2327.   SV_CACHEDDIRECTORYLIMIT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_CACHEDDIRECTORYLIMIT_PARMNUM);
  2328.   {$EXTERNALSYM SV_CACHEDDIRECTORYLIMIT_INFOLEVEL}
  2329.   SV_MAXCOPYLENGTH_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MAXCOPYLENGTH_PARMNUM);
  2330.   {$EXTERNALSYM SV_MAXCOPYLENGTH_INFOLEVEL}
  2331.   SV_ENABLECOMPRESSION_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_ENABLECOMPRESSION_PARMNUM);
  2332.   {$EXTERNALSYM SV_ENABLECOMPRESSION_INFOLEVEL}
  2333.   SV_AUTOSHAREWKS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_AUTOSHAREWKS_PARMNUM);
  2334.   {$EXTERNALSYM SV_AUTOSHAREWKS_INFOLEVEL}
  2335.   SV_AUTOSHARESERVER_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_AUTOSHARESERVER_PARMNUM);
  2336.   {$EXTERNALSYM SV_AUTOSHARESERVER_INFOLEVEL}
  2337.   SV_ENABLESECURITYSIGNATURE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_ENABLESECURITYSIGNATURE_PARMNUM);
  2338.   {$EXTERNALSYM SV_ENABLESECURITYSIGNATURE_INFOLEVEL}
  2339.   SV_REQUIRESECURITYSIGNATURE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_REQUIRESECURITYSIGNATURE_PARMNUM);
  2340.   {$EXTERNALSYM SV_REQUIRESECURITYSIGNATURE_INFOLEVEL}
  2341.   SV_MINCLIENTBUFFERSIZE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_MINCLIENTBUFFERSIZE_PARMNUM);
  2342.   {$EXTERNALSYM SV_MINCLIENTBUFFERSIZE_INFOLEVEL}
  2343.   SV_CONNECTIONNOSESSIONSTIMEOUT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_CONNECTIONNOSESSIONSTIMEOUT_PARMNUM);
  2344.   {$EXTERNALSYM SV_CONNECTIONNOSESSIONSTIMEOUT_INFOLEVEL}
  2345.   SV_IDLETHREADTIMEOUT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_IDLETHREADTIMEOUT_PARMNUM);
  2346.   {$EXTERNALSYM SV_IDLETHREADTIMEOUT_INFOLEVEL}
  2347.   SV_ENABLEW9XSECURITYSIGNATURE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + SV_ENABLEW9XSECURITYSIGNATURE_PARMNUM);
  2348.   {$EXTERNALSYM SV_ENABLEW9XSECURITYSIGNATURE_INFOLEVEL}
  2349.   SVI1_NUM_ELEMENTS       = 5;
  2350.   {$EXTERNALSYM SVI1_NUM_ELEMENTS}
  2351.   SVI2_NUM_ELEMENTS       = 40;
  2352.   {$EXTERNALSYM SVI2_NUM_ELEMENTS}
  2353.   SVI3_NUM_ELEMENTS       = 44;
  2354.   {$EXTERNALSYM SVI3_NUM_ELEMENTS}
  2355. // Maxmimum length for command string to NetServerAdminCommand.
  2356.   SV_MAX_CMD_LEN          = PATHLEN;
  2357.   {$EXTERNALSYM SV_MAX_CMD_LEN}
  2358. // Masks describing AUTOPROFILE parameters
  2359.   SW_AUTOPROF_LOAD_MASK   = $1;
  2360.   {$EXTERNALSYM SW_AUTOPROF_LOAD_MASK}
  2361.   SW_AUTOPROF_SAVE_MASK   = $2;
  2362.   {$EXTERNALSYM SW_AUTOPROF_SAVE_MASK}
  2363. // Max size of svX_srvheuristics.
  2364.   SV_MAX_SRV_HEUR_LEN     = 32;      // Max heuristics info string length.
  2365.   {$EXTERNALSYM SV_MAX_SRV_HEUR_LEN}
  2366. // Equate for use with sv102_licenses.
  2367.   SV_USERS_PER_LICENSE    = 5;
  2368.   {$EXTERNALSYM SV_USERS_PER_LICENSE}
  2369. // Equate for use with svti2_flags in NetServerTransportAddEx.
  2370.   SVTI2_REMAP_PIPE_NAMES  = $2;
  2371.   {$EXTERNALSYM SVTI2_REMAP_PIPE_NAMES}
  2372. // Translated from LMSVC.H
  2373. type
  2374.   PServiceInfo0 = ^TServiceInfo0;
  2375.   _SERVICE_INFO_0 = record
  2376.     svci0_name: LPWSTR;
  2377.   end;
  2378.   {$EXTERNALSYM _SERVICE_INFO_0}
  2379.   TServiceInfo0 = _SERVICE_INFO_0;
  2380.   SERVICE_INFO_0 = _SERVICE_INFO_0;
  2381.   {$EXTERNALSYM SERVICE_INFO_0}
  2382.   PServiceInfo1 = ^TServiceInfo1;
  2383.   _SERVICE_INFO_1 = record
  2384.     svci1_name: LPWSTR;
  2385.     svci1_status: DWORD;
  2386.     svci1_code: DWORD;
  2387.     svci1_pid: DWORD;
  2388.   end;
  2389.   {$EXTERNALSYM _SERVICE_INFO_1}
  2390.   TServiceInfo1 = _SERVICE_INFO_1;
  2391.   SERVICE_INFO_1 = _SERVICE_INFO_1;
  2392.   {$EXTERNALSYM SERVICE_INFO_1}
  2393.   PServiceInfo2 = ^TServiceInfo2;
  2394.   _SERVICE_INFO_2 = record
  2395.     svci2_name: LPWSTR;
  2396.     svci2_status: DWORD;
  2397.     svci2_code: DWORD;
  2398.     svci2_pid: DWORD;
  2399.     svci2_text: LPWSTR;
  2400.     svci2_specific_error: DWORD;
  2401.     svci2_display_name: LPWSTR;
  2402.   end;
  2403.   {$EXTERNALSYM _SERVICE_INFO_2}
  2404.   TServiceInfo2 = _SERVICE_INFO_2;
  2405.   SERVICE_INFO_2 = _SERVICE_INFO_2;
  2406.   {$EXTERNALSYM SERVICE_INFO_2}
  2407. function NetServiceControl(servername: LPCWSTR; service: LPCWSTR; opcode: DWORD;
  2408.   arg: DWORD; bufptr: Pointer): NET_API_STATUS; stdcall;
  2409. {$EXTERNALSYM NetServiceControl}
  2410. function NetServiceEnum(servername: LPCWSTR; level: DWORD; bufptr: Pointer;
  2411.   prefmaxlen: DWORD; var entriesread: DWORD; var totalentries: DWORD;
  2412.   resume_handle: PDWORD): NET_API_STATUS; stdcall;
  2413. {$EXTERNALSYM NetServiceEnum}
  2414. function NetServiceGetInfo(servername: LPCWSTR; service: LPCWSTR; level: DWORD;
  2415.   bufptr: Pointer): NET_API_STATUS; stdcall;
  2416. {$EXTERNALSYM NetServiceGetInfo}
  2417. function NetServiceInstall(servername: LPCWSTR; service: LPCWSTR; argc: DWORD;
  2418.   argv: LPCWSTR; bufptr: Pointer): NET_API_STATUS; stdcall;
  2419. {$EXTERNALSYM NetServiceInstall}
  2420. //  Bitmask and bit values for svci1_status, and svci2_status
  2421. //  fields.  For each "subfield", there is a mask defined,
  2422. //  and a number of constants representing the value
  2423. //  obtained by doing (status & mask).
  2424. const
  2425. // Bits 0,1 -- general status
  2426.   SERVICE_INSTALL_STATE       = $03;
  2427.   {$EXTERNALSYM SERVICE_INSTALL_STATE}
  2428.   SERVICE_UNINSTALLED         = $00;
  2429.   {$EXTERNALSYM SERVICE_UNINSTALLED}
  2430.   SERVICE_INSTALL_PENDING     = $01;
  2431.   {$EXTERNALSYM SERVICE_INSTALL_PENDING}
  2432.   SERVICE_UNINSTALL_PENDING   = $02;
  2433.   {$EXTERNALSYM SERVICE_UNINSTALL_PENDING}
  2434.   SERVICE_INSTALLED           = $03;
  2435.   {$EXTERNALSYM SERVICE_INSTALLED}
  2436. // Bits 2,3 -- paused/active status
  2437.   SERVICE_PAUSE_STATE              = $0C;
  2438.   {$EXTERNALSYM SERVICE_PAUSE_STATE}
  2439.   LM20_SERVICE_ACTIVE              = $00;
  2440.   {$EXTERNALSYM LM20_SERVICE_ACTIVE}
  2441.   LM20_SERVICE_CONTINUE_PENDING    = $04;
  2442.   {$EXTERNALSYM LM20_SERVICE_CONTINUE_PENDING}
  2443.   LM20_SERVICE_PAUSE_PENDING       = $08;
  2444.   {$EXTERNALSYM LM20_SERVICE_PAUSE_PENDING}
  2445.   LM20_SERVICE_PAUSED              = $0C;
  2446.   {$EXTERNALSYM LM20_SERVICE_PAUSED}
  2447. // Bit 4 -- uninstallable indication
  2448.   SERVICE_NOT_UNINSTALLABLE   = $00;
  2449.   {$EXTERNALSYM SERVICE_NOT_UNINSTALLABLE}
  2450.   SERVICE_UNINSTALLABLE       = $10;
  2451.   {$EXTERNALSYM SERVICE_UNINSTALLABLE}
  2452. // Bit 5 -- pausable indication
  2453.   SERVICE_NOT_PAUSABLE        = $00;
  2454.   {$EXTERNALSYM SERVICE_NOT_PAUSABLE}
  2455.   SERVICE_PAUSABLE            = $20;
  2456.   {$EXTERNALSYM SERVICE_PAUSABLE}
  2457. // Workstation service only:
  2458. // Bits 8,9,10 -- redirection paused/active
  2459.   SERVICE_REDIR_PAUSED        = $700;
  2460.   {$EXTERNALSYM SERVICE_REDIR_PAUSED}
  2461.   SERVICE_REDIR_DISK_PAUSED   = $100;
  2462.   {$EXTERNALSYM SERVICE_REDIR_DISK_PAUSED}
  2463.   SERVICE_REDIR_PRINT_PAUSED  = $200;
  2464.   {$EXTERNALSYM SERVICE_REDIR_PRINT_PAUSED}
  2465.   SERVICE_REDIR_COMM_PAUSED   = $400;
  2466.   {$EXTERNALSYM SERVICE_REDIR_COMM_PAUSED}
  2467. // Additional standard LAN Manager for MS-DOS services
  2468.   SERVICE_DOS_ENCRYPTION  = 'ENCRYPT';
  2469.   {$EXTERNALSYM SERVICE_DOS_ENCRYPTION}
  2470. // NetServiceControl opcodes.
  2471.   SERVICE_CTRL_INTERROGATE    = 0;
  2472.   {$EXTERNALSYM SERVICE_CTRL_INTERROGATE}
  2473.   SERVICE_CTRL_PAUSE          = 1;
  2474.   {$EXTERNALSYM SERVICE_CTRL_PAUSE}
  2475.   SERVICE_CTRL_CONTINUE       = 2;
  2476.   {$EXTERNALSYM SERVICE_CTRL_CONTINUE}
  2477.   SERVICE_CTRL_UNINSTALL      = 3;
  2478.   {$EXTERNALSYM SERVICE_CTRL_UNINSTALL}
  2479. // Workstation service only:  Bits used in the "arg" parameter
  2480. // to NetServiceControl in conjunction with the opcode
  2481. // SERVICE_CTRL_PAUSE or SERVICE_CTRL_CONTINUE, to pause or
  2482. // continue redirection.
  2483.   SERVICE_CTRL_REDIR_DISK     = $1;
  2484.   {$EXTERNALSYM SERVICE_CTRL_REDIR_DISK}
  2485.   SERVICE_CTRL_REDIR_PRINT    = $2;
  2486.   {$EXTERNALSYM SERVICE_CTRL_REDIR_PRINT}
  2487.   SERVICE_CTRL_REDIR_COMM     = $4;
  2488.   {$EXTERNALSYM SERVICE_CTRL_REDIR_COMM}
  2489. // Values for svci1_code, and svci2_code when status
  2490. // of the service is SERVICE_INSTALL_PENDING or
  2491. // SERVICE_UNINSTALL_PENDING.
  2492. // A service can optionally provide a hint to the installer
  2493. // that the install is proceeding and how long to wait
  2494. // (in 0.1 second increments) before querying status again.
  2495.   SERVICE_IP_NO_HINT          = $0;
  2496.   {$EXTERNALSYM SERVICE_IP_NO_HINT}
  2497.   SERVICE_CCP_NO_HINT         = $0;
  2498.   {$EXTERNALSYM SERVICE_CCP_NO_HINT}
  2499.   SERVICE_IP_QUERY_HINT       = $10000;
  2500.   {$EXTERNALSYM SERVICE_IP_QUERY_HINT}
  2501.   SERVICE_CCP_QUERY_HINT      = $10000;
  2502.   {$EXTERNALSYM SERVICE_CCP_QUERY_HINT}
  2503. // Mask for install proceeding checkpoint number
  2504.   SERVICE_IP_CHKPT_NUM        = $0FF;
  2505.   {$EXTERNALSYM SERVICE_IP_CHKPT_NUM}
  2506.   SERVICE_CCP_CHKPT_NUM       = $0FF;
  2507.   {$EXTERNALSYM SERVICE_CCP_CHKPT_NUM}
  2508. // Mask for wait time hint before querying again
  2509.   SERVICE_IP_WAIT_TIME        = $0FF00;
  2510.   {$EXTERNALSYM SERVICE_IP_WAIT_TIME}
  2511.   SERVICE_CCP_WAIT_TIME       = $0FF00;
  2512.   {$EXTERNALSYM SERVICE_CCP_WAIT_TIME}
  2513. // Shift count for building wait time _code values
  2514.   SERVICE_IP_WAITTIME_SHIFT   = 8;
  2515.   {$EXTERNALSYM SERVICE_IP_WAITTIME_SHIFT}
  2516.   SERVICE_NTIP_WAITTIME_SHIFT = 12;
  2517.   {$EXTERNALSYM SERVICE_NTIP_WAITTIME_SHIFT}
  2518. // Mask used for upper and lower portions of wait hint time.
  2519.   UPPER_HINT_MASK     = $0000FF00;
  2520.   {$EXTERNALSYM UPPER_HINT_MASK}
  2521.   LOWER_HINT_MASK     = $000000FF;
  2522.   {$EXTERNALSYM LOWER_HINT_MASK}
  2523.   UPPER_GET_HINT_MASK = $0FF00000;
  2524.   {$EXTERNALSYM UPPER_GET_HINT_MASK}
  2525.   LOWER_GET_HINT_MASK = $0000FF00;
  2526.   {$EXTERNALSYM LOWER_GET_HINT_MASK}
  2527.   SERVICE_NT_MAXTIME  = $0000FFFF;
  2528.   {$EXTERNALSYM SERVICE_NT_MAXTIME}
  2529.   SERVICE_RESRV_MASK  = $0001FFFF;
  2530.   {$EXTERNALSYM SERVICE_RESRV_MASK}
  2531.   SERVICE_MAXTIME     = $000000FF;
  2532.   {$EXTERNALSYM SERVICE_MAXTIME}
  2533. // SERVICE_BASE is the base of service error codes,
  2534. // chosen to avoid conflict with OS, redirector,
  2535. // netapi, and errlog codes.
  2536. //
  2537. // Don't change the comments following the manifest constants without
  2538. // understanding how mapmsg works.
  2539.   SERVICE_BASE                = 3050;
  2540.   {$EXTERNALSYM SERVICE_BASE}
  2541.   SERVICE_UIC_NORMAL          = 0;
  2542.   {$EXTERNALSYM SERVICE_UIC_NORMAL}
  2543.   // Uninstall codes, to be used in high byte of 'code' on final NetStatus,
  2544.   // which sets the status to UNINSTALLED.
  2545.   SERVICE_UIC_BADPARMVAL         = (SERVICE_BASE + 1);
  2546.   {$EXTERNALSYM SERVICE_UIC_BADPARMVAL}
  2547.   // The Registry or the information you just typed includes an illegal
  2548.   // value for "%1".
  2549.   SERVICE_UIC_MISSPARM           = (SERVICE_BASE + 2);
  2550.   {$EXTERNALSYM SERVICE_UIC_MISSPARM}
  2551.   // The required parameter was not provided on the command
  2552.   // line or in the configuration file.
  2553.   SERVICE_UIC_UNKPARM            = (SERVICE_BASE + 3);
  2554.   {$EXTERNALSYM SERVICE_UIC_UNKPARM}
  2555.   // LAN Manager does not recognize "%1" as a valid option.
  2556.   SERVICE_UIC_RESOURCE           = (SERVICE_BASE + 4);
  2557.   {$EXTERNALSYM SERVICE_UIC_RESOURCE}
  2558.   // A request for resource could not be satisfied.
  2559.   SERVICE_UIC_CONFIG             = (SERVICE_BASE + 5);
  2560.   {$EXTERNALSYM SERVICE_UIC_CONFIG}
  2561.   // A problem exists with the system configuration.
  2562.   SERVICE_UIC_SYSTEM             = (SERVICE_BASE + 6);
  2563.   {$EXTERNALSYM SERVICE_UIC_SYSTEM}
  2564.   // A system error has occurred.
  2565.   SERVICE_UIC_INTERNAL           = (SERVICE_BASE + 7);
  2566.   {$EXTERNALSYM SERVICE_UIC_INTERNAL}
  2567.   // An internal consistency error has occurred.
  2568.   SERVICE_UIC_AMBIGPARM          = (SERVICE_BASE + 8);
  2569.   {$EXTERNALSYM SERVICE_UIC_AMBIGPARM}
  2570.   // The configuration file or the command line has an ambiguous option.
  2571.   SERVICE_UIC_DUPPARM            = (SERVICE_BASE + 9);
  2572.   {$EXTERNALSYM SERVICE_UIC_DUPPARM}
  2573.   // The configuration file or the command line has a duplicate parameter.
  2574.   SERVICE_UIC_KILL               = (SERVICE_BASE + 10);
  2575.   {$EXTERNALSYM SERVICE_UIC_KILL}
  2576.   // The service did not respond to control and was stopped with
  2577.   // the DosKillProc function.
  2578.   SERVICE_UIC_EXEC               = (SERVICE_BASE + 11);
  2579.   {$EXTERNALSYM SERVICE_UIC_EXEC}
  2580.   // An error occurred when attempting to run the service program.
  2581.   SERVICE_UIC_SUBSERV            = (SERVICE_BASE + 12);
  2582.   {$EXTERNALSYM SERVICE_UIC_SUBSERV}
  2583.   // The sub-service failed to start.
  2584.   SERVICE_UIC_CONFLPARM          = (SERVICE_BASE + 13);
  2585.   {$EXTERNALSYM SERVICE_UIC_CONFLPARM}
  2586.   // There is a conflict in the value or use of these options: %1.
  2587.   SERVICE_UIC_FILE               = (SERVICE_BASE + 14);
  2588.   {$EXTERNALSYM SERVICE_UIC_FILE}
  2589.   // There is a problem with the file.
  2590. // The modifiers
  2591. // General:
  2592.   SERVICE_UIC_M_NULL   = 0;
  2593.   {$EXTERNALSYM SERVICE_UIC_M_NULL}
  2594. // RESOURCE:
  2595.   SERVICE_UIC_M_MEMORY    = (SERVICE_BASE + 20);     //* memory */
  2596.   {$EXTERNALSYM SERVICE_UIC_M_MEMORY}
  2597.   SERVICE_UIC_M_DISK      = (SERVICE_BASE + 21);     //* disk space */
  2598.   {$EXTERNALSYM SERVICE_UIC_M_DISK}
  2599.   SERVICE_UIC_M_THREADS   = (SERVICE_BASE + 22);     //* thread */
  2600.   {$EXTERNALSYM SERVICE_UIC_M_THREADS}
  2601.   SERVICE_UIC_M_PROCESSES = (SERVICE_BASE + 23);     //* process */
  2602.   {$EXTERNALSYM SERVICE_UIC_M_PROCESSES}
  2603. // CONFIG:
  2604. // Security failure
  2605.   SERVICE_UIC_M_SECURITY          = (SERVICE_BASE + 24);
  2606.   {$EXTERNALSYM SERVICE_UIC_M_SECURITY}
  2607.   // Security Failure.
  2608.   SERVICE_UIC_M_LANROOT           = (SERVICE_BASE + 25);
  2609.   {$EXTERNALSYM SERVICE_UIC_M_LANROOT}
  2610.   // Bad or missing LAN Manager root directory.
  2611.   SERVICE_UIC_M_REDIR             = (SERVICE_BASE + 26);
  2612.   {$EXTERNALSYM SERVICE_UIC_M_REDIR}
  2613.   // The network software is not installed.
  2614.   SERVICE_UIC_M_SERVER            = (SERVICE_BASE + 27);
  2615.   {$EXTERNALSYM SERVICE_UIC_M_SERVER}
  2616.   // The server is not started.
  2617.   SERVICE_UIC_M_SEC_FILE_ERR      = (SERVICE_BASE + 28);
  2618.   {$EXTERNALSYM SERVICE_UIC_M_SEC_FILE_ERR}
  2619.   // The server cannot access the user accounts database (NET.ACC).
  2620.   SERVICE_UIC_M_FILES             = (SERVICE_BASE + 29);
  2621.   {$EXTERNALSYM SERVICE_UIC_M_FILES}
  2622.   // Incompatible files are installed in the LANMAN tree.
  2623.   SERVICE_UIC_M_LOGS              = (SERVICE_BASE + 30);
  2624.   {$EXTERNALSYM SERVICE_UIC_M_LOGS}
  2625.   // The LANMANLOGS directory is invalid.
  2626.   SERVICE_UIC_M_LANGROUP          = (SERVICE_BASE + 31);
  2627.   {$EXTERNALSYM SERVICE_UIC_M_LANGROUP}
  2628.   // The domain specified could not be used.
  2629.   SERVICE_UIC_M_MSGNAME           = (SERVICE_BASE + 32);
  2630.   {$EXTERNALSYM SERVICE_UIC_M_MSGNAME}
  2631.   // The computer name is being used as a message alias on another computer.
  2632.   SERVICE_UIC_M_ANNOUNCE          = (SERVICE_BASE + 33);
  2633.   {$EXTERNALSYM SERVICE_UIC_M_ANNOUNCE}
  2634.   // The announcement of the server name failed.
  2635.   SERVICE_UIC_M_UAS               = (SERVICE_BASE + 34);
  2636.   {$EXTERNALSYM SERVICE_UIC_M_UAS}
  2637.   // The user accounts database is not configured correctly.
  2638.   SERVICE_UIC_M_SERVER_SEC_ERR    = (SERVICE_BASE + 35);
  2639.   {$EXTERNALSYM SERVICE_UIC_M_SERVER_SEC_ERR}
  2640.   // The server is not running with user-level security.
  2641.   SERVICE_UIC_M_WKSTA             = (SERVICE_BASE + 37);
  2642.   {$EXTERNALSYM SERVICE_UIC_M_WKSTA}
  2643.   // The workstation is not configured properly.
  2644.   SERVICE_UIC_M_ERRLOG            = (SERVICE_BASE + 38);
  2645.   {$EXTERNALSYM SERVICE_UIC_M_ERRLOG}
  2646.   // View your error log for details.
  2647.   SERVICE_UIC_M_FILE_UW           = (SERVICE_BASE + 39);
  2648.   {$EXTERNALSYM SERVICE_UIC_M_FILE_UW}
  2649.   // Unable to write to this file.
  2650.   SERVICE_UIC_M_ADDPAK            = (SERVICE_BASE + 40);
  2651.   {$EXTERNALSYM SERVICE_UIC_M_ADDPAK}
  2652.   // ADDPAK file is corrupted.  Delete LANMANNETPROGADDPAK.SER
  2653.   // and reapply all ADDPAKs.
  2654.   SERVICE_UIC_M_LAZY              = (SERVICE_BASE + 41);
  2655.   {$EXTERNALSYM SERVICE_UIC_M_LAZY}
  2656.   // The LM386 server cannot be started because CACHE.EXE is not running.
  2657.   SERVICE_UIC_M_UAS_MACHINE_ACCT  = (SERVICE_BASE + 42);
  2658.   {$EXTERNALSYM SERVICE_UIC_M_UAS_MACHINE_ACCT}
  2659.   // There is no account for this computer in the security database.
  2660.   SERVICE_UIC_M_UAS_SERVERS_NMEMB = (SERVICE_BASE + 43);
  2661.   {$EXTERNALSYM SERVICE_UIC_M_UAS_SERVERS_NMEMB}
  2662.   // This computer is not a member of the group SERVERS.
  2663.   SERVICE_UIC_M_UAS_SERVERS_NOGRP = (SERVICE_BASE + 44);
  2664.   {$EXTERNALSYM SERVICE_UIC_M_UAS_SERVERS_NOGRP}
  2665.   // The group SERVERS is not present in the local security database.
  2666.   SERVICE_UIC_M_UAS_INVALID_ROLE  = (SERVICE_BASE + 45);
  2667.   {$EXTERNALSYM SERVICE_UIC_M_UAS_INVALID_ROLE}
  2668.   // This Windows NT computer is configured as a member of a workgroup, not as
  2669.   // a member of a domain. The Netlogon service does not need to run in this
  2670.   // configuration.
  2671.   SERVICE_UIC_M_NETLOGON_NO_DC    = (SERVICE_BASE + 46);
  2672.   {$EXTERNALSYM SERVICE_UIC_M_NETLOGON_NO_DC}
  2673.   // The Windows NT domain controller for this domain could not be located.
  2674.   SERVICE_UIC_M_NETLOGON_DC_CFLCT = (SERVICE_BASE + 47);
  2675.   {$EXTERNALSYM SERVICE_UIC_M_NETLOGON_DC_CFLCT}
  2676.   // This computer is configured to be the primary domain controller of its domain.
  2677.   // However, the computer %1 is currently claiming to be the primary domain controller
  2678.   // of the domain.
  2679.   SERVICE_UIC_M_NETLOGON_AUTH     = (SERVICE_BASE + 48);
  2680.   {$EXTERNALSYM SERVICE_UIC_M_NETLOGON_AUTH}
  2681.   // The service failed to authenticate with the primary domain controller.
  2682.   SERVICE_UIC_M_UAS_PROLOG        = (SERVICE_BASE + 49);
  2683.   {$EXTERNALSYM SERVICE_UIC_M_UAS_PROLOG}
  2684.   // There is a problem with the security database creation date or serial number.
  2685.   SERVICE2_BASE    = 5600;
  2686.   {$EXTERNALSYM SERVICE2_BASE}
  2687.   // new SEVICE_UIC messages go here
  2688.   SERVICE_UIC_M_NETLOGON_MPATH    = (SERVICE2_BASE + 0);
  2689.   {$EXTERNALSYM SERVICE_UIC_M_NETLOGON_MPATH}
  2690.   // Could not share the User or Script path.
  2691.   SERVICE_UIC_M_LSA_MACHINE_ACCT  = (SERVICE2_BASE + 1);
  2692.   {$EXTERNALSYM SERVICE_UIC_M_LSA_MACHINE_ACCT}
  2693.   // The password for this computer is not found in the local security
  2694.   // database.
  2695.   SERVICE_UIC_M_DATABASE_ERROR    = (SERVICE2_BASE + 2);
  2696.   {$EXTERNALSYM SERVICE_UIC_M_DATABASE_ERROR}
  2697.   // An internal error occurred while accessing the computer's
  2698.   // local or network security database.
  2699. // End modifiers
  2700. // Commonly used Macros:
  2701. function SERVICE_IP_CODE(tt, nn: LongInt): LongInt;
  2702. {$EXTERNALSYM SERVICE_IP_CODE}
  2703. function SERVICE_CCP_CODE(tt, nn: LongInt): LongInt;
  2704. {$EXTERNALSYM SERVICE_CCP_CODE}
  2705. function SERVICE_UIC_CODE(cc, mm: LongInt): LongInt;
  2706. {$EXTERNALSYM SERVICE_UIC_CODE}
  2707. // This macro takes a wait hint (tt) which can have a maximum value of
  2708. // 0xFFFF and puts it into the service status code field.
  2709. // 0x0FF1FFnn  (where nn is the checkpoint information).
  2710. function SERVICE_NT_CCP_CODE(tt, nn: LongInt): LongInt;
  2711. {$EXTERNALSYM SERVICE_NT_CCP_CODE}
  2712. // This macro takes a status code field, and strips out the wait hint
  2713. // from the upper and lower sections.
  2714. // 0x0FF1FFnn results in 0x0000FFFF.
  2715. function SERVICE_NT_WAIT_GET(code: DWORD): DWORD;
  2716. {$EXTERNALSYM SERVICE_NT_WAIT_GET}
  2717. // Translated from LMUSE.H
  2718. function NetUseAdd(UncServerName: LPWSTR; Level: DWORD; Buf: Pointer;
  2719.   ParmError: PDWORD): NET_API_STATUS; stdcall;
  2720. {$EXTERNALSYM NetUseAdd}
  2721. function NetUseDel(UncServerName, UseName: LPWSTR; ForceCond: DWORD): NET_API_STATUS; stdcall;
  2722. {$EXTERNALSYM NetUseDel}
  2723. function NetUseEnum(UncServerName: LPWSTR; Level: DWORD; BufPtr: Pointer;
  2724.   PreferedMaximumSize: DWORD; var EntriesRead: DWORD; var TotalEntries: DWORD;
  2725.   ResumeHandle: PDWORD): NET_API_STATUS; stdcall;
  2726. {$EXTERNALSYM NetUseEnum}
  2727. function NetUseGetInfo(UncServerName: LPWSTR; UseName: LPWSTR; Level: DWORD;
  2728.   BufPtr: Pointer): NET_API_STATUS; stdcall;
  2729. {$EXTERNALSYM NetUseGetInfo}
  2730. type
  2731.   PUseInfo0 = ^TUseInfo0;
  2732.   _USE_INFO_0 = record
  2733.     ui0_local: LPWSTR;
  2734.     ui0_remote: LPWSTR;
  2735.   end;
  2736.   {$EXTERNALSYM _USE_INFO_0}
  2737.   TUseInfo0 = _USE_INFO_0;
  2738.   USE_INFO_0 = _USE_INFO_0;
  2739.   {$EXTERNALSYM USE_INFO_0}
  2740.   PUseInfo1 = ^TUseInfo1;
  2741.   _USE_INFO_1 = record
  2742.     ui1_local: LPWSTR;
  2743.     ui1_remote: LPWSTR;
  2744.     ui1_password: LPWSTR;
  2745.     ui1_status: DWORD;
  2746.     ui1_asg_type: DWORD;
  2747.     ui1_refcount: DWORD;
  2748.     ui1_usecount: DWORD;
  2749.   end;
  2750.   {$EXTERNALSYM _USE_INFO_1}
  2751.   TUseInfo1 = _USE_INFO_1;
  2752.   USE_INFO_1 = _USE_INFO_1;
  2753.   {$EXTERNALSYM USE_INFO_1}
  2754.   PUseInfo2 = ^TUseInfo2;
  2755.   _USE_INFO_2 = record
  2756.     ui2_local: LPWSTR;
  2757.     ui2_remote: LPWSTR;
  2758.     ui2_password: LPWSTR;
  2759.     ui2_status: DWORD;
  2760.     ui2_asg_type: DWORD;
  2761.     ui2_refcount: DWORD;
  2762.     ui2_usecount: DWORD;
  2763.     ui2_username: LPWSTR;
  2764.     ui2_domainname: LPWSTR;
  2765.   end;
  2766.   {$EXTERNALSYM _USE_INFO_2}
  2767.   TUseInfo2 = _USE_INFO_2;
  2768.   USE_INFO_2 = _USE_INFO_2;
  2769.   {$EXTERNALSYM USE_INFO_2}
  2770.   PUseInfo3 = ^TUseInfo3;
  2771.   _USE_INFO_3 = record
  2772.     ui3_ui2: USE_INFO_2;
  2773.     ui3_flags: ULONG;
  2774.   end;
  2775.   {$EXTERNALSYM _USE_INFO_3}
  2776.   TUseInfo3 = _USE_INFO_3;
  2777.   USE_INFO_3 = _USE_INFO_3;
  2778.   {$EXTERNALSYM USE_INFO_3}
  2779. // One of these values indicates the parameter within an information
  2780. // structure that is invalid when ERROR_INVALID_PARAMETER is returned by
  2781. // NetUseAdd.
  2782. const
  2783.   USE_LOCAL_PARMNUM       = 1;
  2784.   {$EXTERNALSYM USE_LOCAL_PARMNUM}
  2785.   USE_REMOTE_PARMNUM      = 2;
  2786.   {$EXTERNALSYM USE_REMOTE_PARMNUM}
  2787.   USE_PASSWORD_PARMNUM    = 3;
  2788.   {$EXTERNALSYM USE_PASSWORD_PARMNUM}
  2789.   USE_ASGTYPE_PARMNUM     = 4;
  2790.   {$EXTERNALSYM USE_ASGTYPE_PARMNUM}
  2791.   USE_USERNAME_PARMNUM    = 5;
  2792.   {$EXTERNALSYM USE_USERNAME_PARMNUM}
  2793.   USE_DOMAINNAME_PARMNUM  = 6;
  2794.   {$EXTERNALSYM USE_DOMAINNAME_PARMNUM}
  2795. // Values appearing in the ui1_status field of use_info_1 structure.
  2796. // Note that USE_SESSLOST and USE_DISCONN are synonyms.
  2797.   USE_OK                  = 0;
  2798.   {$EXTERNALSYM USE_OK}
  2799.   USE_PAUSED              = 1;
  2800.   {$EXTERNALSYM USE_PAUSED}
  2801.   USE_SESSLOST            = 2;
  2802.   {$EXTERNALSYM USE_SESSLOST}
  2803.   USE_DISCONN             = 2;
  2804.   {$EXTERNALSYM USE_DISCONN}
  2805.   USE_NETERR              = 3;
  2806.   {$EXTERNALSYM USE_NETERR}
  2807.   USE_CONN                = 4;
  2808.   {$EXTERNALSYM USE_CONN}
  2809.   USE_RECONN              = 5;
  2810.   {$EXTERNALSYM USE_RECONN}
  2811. // Values of the ui1_asg_type field of use_info_1 structure
  2812.   USE_WILDCARD            = DWORD(-1);
  2813.   {$EXTERNALSYM USE_WILDCARD}
  2814.   USE_DISKDEV             = 0;
  2815.   {$EXTERNALSYM USE_DISKDEV}
  2816.   USE_SPOOLDEV            = 1;
  2817.   {$EXTERNALSYM USE_SPOOLDEV}
  2818.   USE_CHARDEV             = 2;
  2819.   {$EXTERNALSYM USE_CHARDEV}
  2820.   USE_IPC                 = 3;
  2821.   {$EXTERNALSYM USE_IPC}
  2822. // Flags defined in the use_info_3 structure
  2823.   CREATE_NO_CONNECT = $1;        // creation flags
  2824.   {$EXTERNALSYM CREATE_NO_CONNECT}
  2825.   CREATE_BYPASS_CSC = $2;        // force connection to server, bypassing CSC
  2826.                                  //  all ops on this connection go to the server,
  2827.                                  //  never to the cache
  2828.   {$EXTERNALSYM CREATE_BYPASS_CSC}
  2829. // Translated from LMWKSTA.H
  2830. function NetWkstaGetInfo(servername: LPWSTR; level: DWORD;
  2831.   var bufptr: Pointer): NET_API_STATUS; stdcall;
  2832. {$EXTERNALSYM NetWkstaGetInfo}
  2833. function NetWkstaSetInfo(servername: LPWSTR; level: DWORD; buffer: Pointer;
  2834.   parm_err: PDWORD): NET_API_STATUS; stdcall;
  2835. {$EXTERNALSYM NetWkstaSetInfo}
  2836. function NetWkstaUserGetInfo(reserved: LPWSTR; level: DWORD;
  2837.   bufptr: Pointer): NET_API_STATUS; stdcall;
  2838. {$EXTERNALSYM NetWkstaUserGetInfo}
  2839. function NetWkstaUserSetInfo(reserved: LPWSTR; level: DWORD; buf: Pointer;
  2840.   parm_err: PDWORD): NET_API_STATUS; stdcall;
  2841. {$EXTERNALSYM NetWkstaUserSetInfo}
  2842. function NetWkstaUserEnum(servername: LPWSTR; level: DWORD; bufptr: Pointer;
  2843.   prefmaxlen: DWORD; var entriesread: DWORD; var totalentries: DWORD;
  2844.   resumehandle: PDWORD): NET_API_STATUS; stdcall;
  2845. {$EXTERNALSYM NetWkstaUserEnum}
  2846. function NetWkstaTransportAdd(servername: LPWSTR; level: DWORD; buf: Pointer;
  2847.   parm_err: PDWORD): NET_API_STATUS; stdcall;
  2848. {$EXTERNALSYM NetWkstaTransportAdd}