home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 June / Chip_2002-06_cd1.bin / zkuste / delphi / kompon / d56 / MSYSINFO.ZIP / Int / MiTeC_NetAPI32.int < prev    next >
Encoding:
Text File  |  2002-03-01  |  52.3 KB  |  1,039 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       MiTeC System Information Component              }
  5. {               Lan Manager API                         }
  6. {           version 7.0 for Delphi 5,6c                 }
  7. {                                                       }
  8. {       Copyright ⌐ 1997,2002 Michal Mutl               }
  9. {                                                       }
  10. {*******************************************************}
  11.  
  12. {$INCLUDE MITEC_DEF.INC}
  13.  
  14. unit MiTeC_NetAPI32;
  15.  
  16. interface
  17.  
  18. uses
  19.   Windows, SysUtils;
  20.  
  21. const
  22.   NERR_SUCCESS = 0;
  23.   NETERR_INCLUDED = 2102;    // The workstation driver is not installed.
  24.   NERR_UnknownServer = 2103;    // The server could not be located.
  25.   NERR_ShareMem = 2104; //An internal error occurred. The network cannot access a shared memory segment.
  26.   NERR_NoNetworkResource = 2105;    // A network resource shortage occurred .
  27.   NERR_RemoteOnly = 2106;    // This operation is not supported on workstations.
  28.   NERR_DevNotRedirected = 2107;    // The device is not connected.
  29.   NERR_ServerNotStarted = 2114;    // The Server service is not started.
  30.   NERR_ItemNotFound = 2115;    // The queue is empty.
  31.   NERR_UnknownDevDir = 2116;    // The device or directory does not exist.
  32.   NERR_RedirectedPath = 2117;    // The operation is invalid on a redirected resource.
  33.   NERR_DuplicateShare = 2118;    // The name has already been shared.
  34.   NERR_NoRoom = 2119;    // The server is currently out of the requested resource.
  35.   NERR_TooManyItems = 2121;    // Requested addition of items exceeds the maximum allowed.
  36.   NERR_InvalidMaxUsers = 2122;    // The Peer service supports only two simultaneous users.
  37.   NERR_BufTooSmall = 2123;    // The API return buffer is too small.
  38.   NERR_RemoteErr = 2127;    // A remote API error occurred.
  39.   NERR_LanmanIniError = 2131;    // An error occurred when opening or reading the configuration file.
  40.   NERR_NetworkError = 2136;    // A general network error occurred.
  41.   NERR_WkstaInconsistentState = 2137;  // The Workstation service is in an inconsistent state. Restart the computer before restarting the Workstation service.
  42.   NERR_WkstaNotStarted = 2138;    // The Workstation service has not been started.
  43.   NERR_BrowserNotStarted = 2139;    // The requested information is not available.
  44.   NERR_InternalError = 2140;    // An internal Windows NT error occurred.
  45.   NERR_BadTransactConfig = 2141;    // The server is not configured for transactions.
  46.   NERR_InvalidAPI = 2142;    // The requested API is not supported on the remote server.
  47.   NERR_BadEventName = 2143;    // The event name is invalid.
  48.   NERR_DupNameReboot = 2144;  // The computer name already exists on the network. Change it and restart the computer.
  49.   NERR_CfgCompNotFound = 2146;    // The specified component could not be found in the configuration information.
  50.   NERR_CfgParamNotFound = 2147;    // The specified parameter could not be found in the configuration information.
  51.   NERR_LineTooLong = 2149;    // A line in the configuration file is too long.
  52.   NERR_QNotFound = 2150;    // The printer does not exist.
  53.   NERR_JobNotFound = 2151;    // The print job does not exist.
  54.   NERR_DestNotFound = 2152;    // The printer destination cannot be found.
  55.   NERR_DestExists = 2153;    // The printer destination already exists.
  56.   NERR_QExists = 2154;    // The printer queue already exists.
  57.   NERR_QNoRoom = 2155;    // No more printers can be added.
  58.   NERR_JobNoRoom = 2156;    // No more print jobs can be added.
  59.   NERR_DestNoRoom = 2157;    // No more printer destinations can be added.
  60.   NERR_DestIdle = 2158;    // This printer destination is idle and cannot accept control operations.
  61.   NERR_DestInvalidOp = 2159;    // This printer destination request contains an invalid control function.
  62.   NERR_ProcNoRespond = 2160;    // The print processor is not responding.
  63.   NERR_SpoolerNotLoaded = 2161;    // The spooler is not running.
  64.   NERR_DestInvalidState = 2162;    // This operation cannot be performed on the print destination in its current state.
  65.   NERR_QInvalidState = 2163;    // This operation cannot be performed on the printer queue in its current state.
  66.   NERR_JobInvalidState = 2164;    // This operation cannot be performed on the print job in its current state.
  67.   NERR_SpoolNoMemory = 2165;    // A spooler memory allocation failure occurred.
  68.   NERR_DriverNotFound = 2166;    // The device driver does not exist.
  69.   NERR_DataTypeInvalid = 2167;    // The data type is not supported by the print processor.
  70.   NERR_ProcNotFound = 2168;    // The print processor is not installed.
  71.   NERR_ServiceTableLocked = 2180;    // The service database is locked.
  72.   NERR_ServiceTableFull = 2181;    // The service table is full.
  73.   NERR_ServiceInstalled = 2182;    // The requested service has already been started.
  74.   NERR_ServiceEntryLocked = 2183;    // The service does not respond to control actions.
  75.   NERR_ServiceNotInstalled = 2184;    // The service has not been started.
  76.   NERR_BadServiceName = 2185;    // The service name is invalid.
  77.   NERR_ServiceCtlTimeout = 2186;    // The service is not responding to the control function.
  78.   NERR_ServiceCtlBusy = 2187;    // The service control is busy.
  79.   NERR_BadServiceProgName = 2188;    // The configuration file contains an invalid service program name.
  80.   NERR_ServiceNotCtrl = 2189;    // The service could not be controlled in its present state.
  81.   NERR_ServiceKillProc = 2190;    // The service ended abnormally.
  82.   NERR_ServiceCtlNotValid = 2191;    // The requested pause or stop is not valid for this service.
  83.   NERR_NotInDispatchTbl = 2192;    // The service control dispatcher could not find the service name in the dispatch table.
  84.   NERR_BadControlRecv = 2193;    // The service control dispatcher pipe read failed.
  85.   NERR_ServiceNotStarting = 2194;    // A thread for the new service could not be created.
  86.   NERR_AlreadyLoggedOn = 2200;    // This workstation is already logged on to the local-area network.
  87.   NERR_NotLoggedOn = 2201;    // The workstation is not logged on to the local-area network.
  88.   NERR_BadUsername = 2202;    // The user name or group name parameter is invalid.
  89.   NERR_BadPassword = 2203;    // The password parameter is invalid.
  90.   NERR_UnableToAddName_W = 2204;    // @W The logon processor did not add the message alias.
  91.   NERR_UnableToAddName_F = 2205;    // The logon processor did not add the message alias.
  92.   NERR_UnableToDelName_W = 2206;    // @W The logoff processor did not delete the message alias.
  93.   NERR_UnableToDelName_F = 2207;    // The logoff processor did not delete the message alias.
  94.   NERR_LogonsPaused = 2209;    // Network logons are paused.
  95.   NERR_LogonServerConflict = 2210;    // A centralized logon-server conflict occurred.
  96.   NERR_LogonNoUserPath = 2211;    // The server is configured without a valid user path.
  97.   NERR_LogonScriptError = 2212;    // An error occurred while loading or running the logon script.
  98.   NERR_StandaloneLogon = 2214;    // The logon server was not specified. Your computer will be logged on as STANDALONE.
  99.   NERR_LogonServerNotFound = 2215;    // The logon server could not be found.
  100.   NERR_LogonDomainExists = 2216;    // There is already a logon domain for this computer.
  101.   NERR_NonValidatedLogon = 2217;    // The logon server could not validate the logon.
  102.   NERR_ACFNotFound = 2219;    // The security database could not be found.
  103.   NERR_GroupNotFound = 2220;    // The group name could not be found.
  104.   NERR_UserNotFound = 2221;    // The user name could not be found.
  105.   NERR_ResourceNotFound = 2222;    // The resource name could not be found.
  106.   NERR_GroupExists = 2223;    // The group already exists.
  107.   NERR_UserExists = 2224;    // The user account already exists.
  108.   NERR_ResourceExists = 2225;    // The resource permission list already exists.
  109.   NERR_NotPrimary = 2226;    // This operation is only allowed on the primary domain controller of the domain.
  110.   NERR_ACFNotLoaded = 2227;    // The security database has not been started.
  111.   NERR_ACFNoRoom = 2228;    // There are too many names in the user accounts database.
  112.   NERR_ACFFileIOFail = 2229;    // A disk I/O failure occurred.
  113.   NERR_ACFTooManyLists = 2230;    // The limit of 64 entries per resource was exceeded.
  114.   NERR_UserLogon = 2231;    // Deleting a user with a session is not allowed.
  115.   NERR_ACFNoParent = 2232;    // The parent directory could not be located.
  116.   NERR_CanNotGrowSegment = 2233;    // Unable to add to the security database session cache segment.
  117.   NERR_SpeGroupOp = 2234;    // This operation is not allowed on this special group.
  118.   NERR_NotInCache = 2235;    // This user is not cached in user accounts database session cache.
  119.   NERR_UserInGroup = 2236;    // The user already belongs to this group.
  120.   NERR_UserNotInGroup = 2237;    // The user does not belong to this group.
  121.   NERR_AccountUndefined = 2238;    // This user account is undefined.
  122.   NERR_AccountExpired = 2239;    // This user account has expired.
  123.   NERR_InvalidWorkstation = 2240;    // The user is not allowed to log on from this workstation.
  124.   NERR_InvalidLogonHours = 2241;    // The user is not allowed to log on at this time.
  125.   NERR_PasswordExpired = 2242;    // The password of this user has expired.
  126.   NERR_PasswordCantChange = 2243;    // The password of this user cannot change.
  127.   NERR_PasswordHistConflict = 2244;    // This password cannot be used now.
  128.   NERR_PasswordTooShort = 2245;    // The password is shorter than required.
  129.   NERR_PasswordTooRecent = 2246;    // The password of this user is too recent to change.
  130.   NERR_InvalidDatabase = 2247;    // The security database is corrupted.
  131.   NERR_DatabaseUpToDate = 2248;    // No updates are necessary to this replicant network/local security database.
  132.   NERR_SyncRequired = 2249;    // This replicant database is outdated; synchronization is required.
  133.   NERR_UseNotFound = 2250;    // The network connection could not be found.
  134.   NERR_BadAsgType = 2251;    // This asg_type is invalid.
  135.   NERR_DeviceIsShared = 2252;    // This device is currently being shared.
  136.   NERR_NoComputerName = 2270;   // The computer name could not be added as a message alias. The name may already exist on the network.
  137.   NERR_MsgAlreadyStarted = 2271;    // The Messenger service is already started.
  138.   NERR_MsgInitFailed = 2272;    // The Messenger service failed to start.
  139.   NERR_NameNotFound = 2273;    // The message alias could not be found on the network.
  140.   NERR_AlreadyForwarded = 2274;    // This message alias has already been forwarded.
  141.   NERR_AddForwarded = 2275;    // This message alias has been added but is still forwarded.
  142.   NERR_AlreadyExists = 2276;    // This message alias already exists locally.
  143.   NERR_TooManyNames = 2277;    // The maximum number of added message aliases has been exceeded.
  144.   NERR_DelComputerName = 2278;    // The computer name could not be deleted.
  145.   NERR_LocalForward = 2279;    // Messages cannot be forwarded back to the same workstation.
  146.   NERR_GrpMsgProcessor = 2280;    // An error occurred in the domain message processor.
  147.   NERR_PausedRemote = 2281;    // The message was sent, but the recipient has paused the Messenger service.
  148.   NERR_BadReceive = 2282;    // The message was sent but not received.
  149.   NERR_NameInUse = 2283;   // The message alias is currently in use. Try again later.
  150.   NERR_MsgNotStarted = 2284;    // The Messenger service has not been started.
  151.   NERR_NotLocalName = 2285;    // The name is not on the local computer.
  152.   NERR_NoForwardName = 2286;    // The forwarded message alias could not be found on the network.
  153.   NERR_RemoteFull = 2287;    // The message alias table on the remote station is full.
  154.   NERR_NameNotForwarded = 2288;    // Messages for this alias are not currently being forwarded.
  155.   NERR_TruncatedBroadcast = 2289;    // The broadcast message was truncated.
  156.   NERR_InvalidDevice = 2294;    // This is an invalid device name.
  157.   NERR_WriteFault = 2295;    // A write fault occurred.
  158.   NERR_DuplicateName = 2297;    // A duplicate message alias exists on the network.
  159.   NERR_DeleteLater = 2298;    // @W This message alias will be deleted later.
  160.   NERR_IncompleteDel = 2299;    // The message alias was not successfully deleted from all networks.
  161.   NERR_MultipleNets = 2300;    // This operation is not supported on computers with multiple networks.
  162.   NERR_NetNameNotFound = 2310;    // This shared resource does not exist.
  163.   NERR_DeviceNotShared = 2311;    // This device is not shared.
  164.   NERR_ClientNameNotFound = 2312;    // A session does not exist with that computer name.
  165.   NERR_FileIdNotFound = 2314;    // There is not an open file with that identification number.
  166.   NERR_ExecFailure = 2315;    // A failure occurred when executing a remote administration command.
  167.   NERR_TmpFile = 2316;    // A failure occurred when opening a remote temporary file.
  168.   NERR_TooMuchData = 2317;    // The data returned from a remote administration command has been truncated to 64K.
  169.   NERR_DeviceShareConflict = 2318;    // This device cannot be shared as both a spooled and a non-spooled resource.
  170.   NERR_BrowserTableIncomplete = 2319;    // The information in the list of servers may be incorrect.
  171.   NERR_NotLocalDomain = 2320;    // The computer is not active in this domain.
  172.   NERR_IsDfsShare = 2321;    // The share must be removed from the Distributed File System before it can be deleted.
  173.   NERR_DevInvalidOpCode = 2331;    // The operation is invalid for this device.
  174.   NERR_DevNotFound = 2332;    // This device cannot be shared.
  175.   NERR_DevNotOpen = 2333;    // This device was not open.
  176.   NERR_BadQueueDevString = 2334;    // This device name list is invalid.
  177.   NERR_BadQueuePriority = 2335;    // The queue priority is invalid.
  178.   NERR_NoCommDevs = 2337;    // There are no shared communication devices.
  179.   NERR_QueueNotFound = 2338;    // The queue you specified does not exist.
  180.   NERR_BadDevString = 2340;    // This list of devices is invalid.
  181.   NERR_BadDev = 2341;    // The requested device is invalid.
  182.   NERR_InUseBySpooler = 2342;    // This device is already in use by the spooler.
  183.   NERR_CommDevInUse = 2343;    // This device is already in use as a communication device.
  184.   NERR_InvalidComputer = 2351;    // This computer name is invalid.
  185.   NERR_MaxLenExceeded = 2354;    // The string and prefix specified are too long.
  186.   NERR_BadComponent = 2356;    // This path component is invalid.
  187.   NERR_CantType = 2357;    // Could not determine the type of input.
  188.   NERR_TooManyEntries = 2362;    // The buffer for types is not big enough.
  189.   NERR_ProfileFileTooBig = 2370;    // Profile files cannot exceed 64K.
  190.   NERR_ProfileOffset = 2371;    // The start offset is out of range.
  191.   NERR_ProfileCleanup = 2372;    // The system cannot delete current connections to network resources.
  192.   NERR_ProfileUnknownCmd = 2373;    // The system was unable to parse the command line in this file.
  193.   NERR_ProfileLoadErr = 2374;    // An error occurred while loading the profile file.
  194.   NERR_ProfileSaveErr = 2375;    // @W Errors occurred while saving the profile file. The profile was partially saved.
  195.   NERR_LogOverflow = 2377;    // Log file %1 is full.
  196.   NERR_LogFileChanged = 2378;    // This log file has changed between reads.
  197.   NERR_LogFileCorrupt = 2379;    // Log file %1 is corrupt.
  198.   NERR_SourceIsDir = 2380;    // The source path cannot be a directory.
  199.   NERR_BadSource = 2381;    // The source path is illegal.
  200.   NERR_BadDest = 2382;    // The destination path is illegal.
  201.   NERR_DifferentServers = 2383;    // The source and destination paths are on different servers.
  202.   NERR_RunSrvPaused = 2385;    // The Run server you requested is paused.
  203.   NERR_ErrCommRunSrv = 2389;    // An error occurred when communicating with a Run server.
  204.   NERR_ErrorExecingGhost = 2391;    // An error occurred when starting a background process.
  205.   NERR_ShareNotFound = 2392;    // The shared resource you are connected to could not be found.
  206.   NERR_InvalidLana = 2400;    // The LAN adapter number is invalid.
  207.   NERR_OpenFiles = 2401;    // There are open files on the connection.
  208.   NERR_ActiveConns = 2402;    // Active connections still exist.
  209.   NERR_BadPasswordCore = 2403;    // This share name or password is invalid.
  210.   NERR_DevInUse = 2404;    // The device is being accessed by an active process.
  211.   NERR_LocalDrive = 2405;    // The drive letter is in use locally.
  212.   NERR_AlertExists = 2430;    // The specified client is already registered for the specified event.
  213.   NERR_TooManyAlerts = 2431;    // The alert table is full.
  214.   NERR_NoSuchAlert = 2432;    // An invalid or nonexistent alert name was raised.
  215.   NERR_BadRecipient = 2433;    // The alert recipient is invalid.
  216.   NERR_AcctLimitExceeded = 2434;    //A user's session with this server has been deleted
  217.   NERR_InvalidLogSeek = 2440;    // The log file does not contain the requested record number.
  218.   NERR_BadUasConfig = 2450;    // The user accounts database is not configured correctly.
  219.   NERR_InvalidUASOp = 2451;    // This operation is not permitted when the Netlogon service is running.
  220.   NERR_LastAdmin = 2452;    // This operation is not allowed on the last administrative account.
  221.   NERR_DCNotFound = 2453;    // Could not find domain controller for this domain.
  222.   NERR_LogonTrackingError = 2454;    // Could not set logon information for this user.
  223.   NERR_NetlogonNotStarted = 2455;    // The Netlogon service has not been started.
  224.   NERR_CanNotGrowUASFile = 2456;    // Unable to add to the user accounts database.
  225.   NERR_TimeDiffAtDC = 2457;    // This server's clock is not synchronized with the primary domain controller's clock.
  226.   NERR_PasswordMismatch = 2458;    // A password mismatch has been detected.
  227.   NERR_NoSuchServer = 2460;    // The server identification does not specify a valid server.
  228.   NERR_NoSuchSession = 2461;    // The session identification does not specify a valid session.
  229.   NERR_NoSuchConnection = 2462;    // The connection identification does not specify a valid connection.
  230.   NERR_TooManyServers = 2463;    // There is no space for another entry in the table of available servers.
  231.   NERR_TooManySessions = 2464;    // The server has reached the maximum number of sessions it supports.
  232.   NERR_TooManyConnections = 2465;    // The server has reached the maximum number of connections it supports.
  233.   NERR_TooManyFiles = 2466;    // The server cannot open more files because it has reached its maximum number.
  234.   NERR_NoAlternateServers = 2467;    // There are no alternate servers registered on this server.
  235.   NERR_TryDownLevel = 2470;    // Try down-level (remote admin protocol) version of API instead.
  236.   NERR_UPSDriverNotStarted = 2480;    // The UPS driver could not be accessed by the UPS service.
  237.   NERR_UPSInvalidConfig = 2481;    // The UPS service is not configured correctly.
  238.   NERR_UPSInvalidCommPort = 2482;    // The UPS service could not access the specified Comm Port.
  239.   NERR_UPSSignalAsserted = 2483;  // The UPS indicated a line fail or low battery situation. Service not started.
  240.   NERR_UPSShutdownFailed = 2484;    // The UPS service failed to perform a system shut down.
  241.   NERR_BadDosRetCode = 2500;    //The program below returned an MS-DOS error code:
  242.   NERR_ProgNeedsExtraMem = 2501;    //The program below needs more memory:
  243.   NERR_BadDosFunction = 2502;    //The program below called an unsupported MS-DOS function:
  244.   NERR_RemoteBootFailed = 2503;    // The workstation failed to boot.
  245.   NERR_BadFileCheckSum = 2504;    // The file below is corrupt.
  246.   NERR_NoRplBootSystem = 2505;    // No loader is specified in the boot-block definition file.
  247.   NERR_RplLoadrNetBiosErr = 2506;    // NetBIOS returned an error: The NCB and SMB are dumped above.
  248.   NERR_RplLoadrDiskErr = 2507;    // A disk I/O error occurred.
  249.   NERR_ImageParamErr = 2508;    // Image parameter substitution failed.
  250.   NERR_TooManyImageParams = 2509;    // Too many image parameters cross disk sector boundaries.
  251.   NERR_NonDosFloppyUsed = 2510;    // The image was not generated from an MS-DOS diskette formatted with /S.
  252.   NERR_RplBootRestart = 2511;    // Remote boot will be restarted later.
  253.   NERR_RplSrvrCallFailed = 2512;    // The call to the Remoteboot server failed.
  254.   NERR_CantConnectRplSrvr = 2513;    // Cannot connect to the Remoteboot server.
  255.   NERR_CantOpenImageFile = 2514;    // Cannot open image file on the Remoteboot server.
  256.   NERR_CallingRplSrvr = 2515;    // Connecting to the Remoteboot server..
  257.   NERR_StartingRplBoot = 2516;    // Connecting to the Remoteboot server..
  258.   NERR_RplBootServiceTerm = 2517;    // Remote boot service was stopped; check the error log for the cause of the problem.
  259.   NERR_RplBootStartFailed = 2518;    // Remote boot startup failed; check the error log for the cause of the problem.
  260.   NERR_RPL_CONNECTED = 2519;    // A second connection to a Remoteboot resource is not allowed.
  261.   NERR_BrowserConfiguredToNotRun = 2550;    // The browser service was configured with MaintainServerList=No.
  262.   NERR_RplNoAdaptersStarted = 2610;    // Service failed to start since none of the network adapters started with this service.
  263.   NERR_RplBadRegistry = 2611;    // Service failed to start due to bad startup information in the registry.
  264.   NERR_RplBadDatabase = 2612;    // Service failed to start because its database is absent or corrupt.
  265.   NERR_RplRplfilesShare = 2613;    // Service failed to start because RPLFILES share is absent.
  266.   NERR_RplNotRplServer = 2614;    // Service failed to start because RPLUSER group is absent.
  267.   NERR_RplCannotEnum = 2615;    // Cannot enumerate service records.
  268.   NERR_RplWkstaInfoCorrupted = 2616;    // Workstation record information has been corrupted.
  269.   NERR_RplWkstaNotFound = 2617;    // Workstation record was not found.
  270.   NERR_RplWkstaNameUnavailable = 2618;    // Workstation name is in use by some other workstation.
  271.   NERR_RplProfileInfoCorrupted = 2619;    // Profile record information has been corrupted.
  272.   NERR_RplProfileNotFound = 2620;    // Profile record was not found.
  273.   NERR_RplProfileNameUnavailable = 2621;    // Profile name is in use by some other profile.
  274.   NERR_RplProfileNotEmpty = 2622;    // There are workstations using this profile.
  275.   NERR_RplConfigInfoCorrupted = 2623;    // Configuration record information has been corrupted.
  276.   NERR_RplConfigNotFound = 2624;    // Configuration record was not found.
  277.   NERR_RplAdapterInfoCorrupted = 2625;    // Adapter id record information has been corrupted.
  278.   NERR_RplInternal = 2626;    // An internal service error has occurred.
  279.   NERR_RplVendorInfoCorrupted = 2627;    // Vendor id record information has been corrupted.
  280.   NERR_RplBootInfoCorrupted = 2628;    // Boot block record information has been corrupted.
  281.   NERR_RplWkstaNeedsUserAcct = 2629;    // The user account for this workstation record is missing.
  282.   NERR_RplNeedsRPLUSERAcct = 2630;    // The RPLUSER local group could not be found.
  283.   NERR_RplBootNotFound = 2631;    // Boot block record was not found.
  284.   NERR_RplIncompatibleProfile = 2632;    // Chosen profile is incompatible with this workstation.
  285.   NERR_RplAdapterNameUnavailable = 2633;    // Chosen network adapter id is in use by some other workstation.
  286.   NERR_RplConfigNotEmpty = 2634;    // There are profiles using this configuration.
  287.   NERR_RplBootInUse = 2635;    // There are workstations, profiles, or configurations using this boot block.
  288.   NERR_RplBackupDatabase = 2636;    // Service failed to backup Remoteboot database.
  289.   NERR_RplAdapterNotFound = 2637;    // Adapter record was not found.
  290.   NERR_RplVendorNotFound = 2638;    // Vendor record was not found.
  291.   NERR_RplVendorNameUnavailable = 2639;    // Vendor name is in use by some other vendor record.
  292.   NERR_RplBootNameUnavailable = 2640;    // (boot name, vendor id) is in use by some other boot block record.
  293.   NERR_RplConfigNameUnavailable = 2641;    // Configuration name is in use by some other configuration.
  294.   NERR_DfsInternalCorruption = 2660;    //The internal database maintained by the Dfs service is corrupt
  295.   NERR_DfsVolumeDataCorrupt = 2661;    //One of the records in the internal Dfs database is corrupt
  296.   NERR_DfsNoSuchVolume = 2662;    //There is no volume whose entry path matches the input Entry Path
  297.   NERR_DfsVolumeAlreadyExists = 2663;    //A volume with the given name already exists
  298.   NERR_DfsAlreadyShared = 2664;    //The server share specified is already shared in the Dfs
  299.   NERR_DfsNoSuchShare = 2665;    //The indicated server share does not support the indicated Dfs volume
  300.   NERR_DfsNotALeafVolume = 2666;    //The operation is not valid on a non-leaf volume
  301.   NERR_DfsLeafVolume = 2667;    //The operation is not valid on a leaf volume
  302.   NERR_DfsVolumeHasMultipleServers = 2668;    //The operation is ambiguous because the volume has multiple servers
  303.   NERR_DfsCantCreateJunctionPoint = 2669;    //Unable to create a junction point
  304.   NERR_DfsServerNotDfsAware = 2670;    //The server is not Dfs Aware
  305.   NERR_DfsBadRenamePath = 2671;    //The specified rename target path is invalid
  306.   NERR_DfsVolumeIsOffline = 2672;    //The specified Dfs volume is offline
  307.   NERR_DfsNoSuchServer = 2673;    //The specified server is not a server for this volume
  308.   NERR_DfsCyclicalName = 2674;    //A cycle in the Dfs name was detected
  309.   NERR_DfsNotSupportedInServerDfs = 2675;    //The operation is not supported on a server-based Dfs
  310.   NERR_DfsInternalError = 2690;    //Dfs internal error
  311.   NERR_SetupAlreadyJoined = 2691;    // This machine is already joined to a domain.
  312.   NERR_SetupNotJoined = 2692;    // This machine is not currently joined to a domain.
  313.   NERR_SetupDomainController = 2693;    // This machine is a domain controller and cannot be unjoined from a domain.
  314.   NERR_InvalidWeekDays    = 2000;
  315.   NERR_InvalidMonthDays   = 2001;
  316.  
  317.   SV_TYPE_WORKSTATION       = $00000001;  // All LAN Manager workstations
  318.   SV_TYPE_SERVER            = $00000002;  // All LAN Manager servers
  319.   SV_TYPE_SQLSERVER         = $00000004; // Any server running with Microsoft SQL Server
  320.   SV_TYPE_DOMAIN_CTRL       = $00000008; // Primary domain controller
  321.   SV_TYPE_DOMAIN_BAKCTRL    = $00000010; // Backup domain controller
  322.   SV_TYPE_TIMESOURCE        = $00000020; // Server running the Timesource service
  323.   SV_TYPE_AFP               = $00000040; // Apple File Protocol servers
  324.   SV_TYPE_NOVELL            = $00000080; // Novell servers
  325.   SV_TYPE_DOMAIN_MEMBER     = $00000100; // LAN Manager 2.x Domain Member
  326.   SV_TYPE_LOCAL_LIST_ONLY   = $40000000; //Servers maintained by the browser
  327.   SV_TYPE_PRINT             = $00000200; //Server sharing print queue
  328.   SV_TYPE_DIALIN            = $00000400; // Server running dial-in service
  329.   SV_TYPE_XENIX_SERVER      = $00000800; // Xenix server
  330.   SV_TYPE_MFPN              = $00004000; // Microsoft File and Print for Netware
  331.   SV_TYPE_NT                = $00001000; // Windows NT (either Workstation or Server)
  332.   SV_TYPE_WFW               = $00002000; // Server running Windows for Workgroups
  333.   SV_TYPE_SERVER_NT         = $00008000; // Windows NT non-DC server
  334.   SV_TYPE_POTENTIAL_BROWSER = $00010000; // Server that can run the Browser service
  335.   SV_TYPE_BACKUP_BROWSER    = $00020000; // Server running a Browser service as backup
  336.   SV_TYPE_MASTER_BROWSER    = $00040000; // Server running the master Browser service
  337.   SV_TYPE_DOMAIN_MASTER     = $00080000; // Server running the domain master Browser
  338.   SV_TYPE_DOMAIN_ENUM       = $80000000; // Primary Domain
  339.   SV_TYPE_WINDOWS           = $00400000; // Windows 95 or later
  340.   SV_TYPE_ALL               = $FFFFFFFF; //All servers
  341.  
  342.   FILTER_TEMP_DUPLICATE_ACCOUNT     =  $0001;
  343.   FILTER_NORMAL_ACCOUNT             =  $0002;
  344.   FILTER_PROXY_ACCOUNT              =  $0004;
  345.   FILTER_INTERDOMAIN_TRUST_ACCOUNT  =  $0008;
  346.   FILTER_WORKSTATION_TRUST_ACCOUNT  =  $0010;
  347.   FILTER_SERVER_TRUST_ACCOUNT       =  $0020;
  348.  
  349.   LM20_NNLEN = 12;
  350.   SHPWLEN = 8;
  351.  
  352.   STYPE_DISKTREE = 0;
  353.   STYPE_PRINTQ   = 1;
  354.   STYPE_DEVICE   = 2;
  355.   STYPE_IPC      = 3;
  356.  
  357.   STYPE_SPECIAL  = $80000000;
  358.  
  359.   ACCESS_NONE   = $00;
  360.   ACCESS_READ   = $01;
  361.   ACCESS_WRITE  = $02;
  362.   ACCESS_CREATE = $04;
  363.   ACCESS_EXEC   = $08;
  364.   ACCESS_DELETE = $10;
  365.   ACCESS_ATRIB  = $20;
  366.   ACCESS_PERM   = $40;
  367.   ACCESS_ALL    = ACCESS_READ or ACCESS_WRITE or
  368.                   ACCESS_CREATE or ACCESS_EXEC or
  369.                   ACCESS_DELETE or ACCESS_ATRIB or
  370.                   ACCESS_PERM;
  371.  
  372.   LG_INCLUDE_INDIRECT = $0001;
  373.  
  374.   SESS_GUEST        = $00000001;
  375.   SESS_NOENCRYPTION = $00000002;
  376.  
  377.   PERM_FILE_READ   =   $1;
  378.   PERM_FILE_WRITE  =   $2;
  379.   PERM_FILE_CREATE =   $4;
  380.  
  381.   JOB_RUN_PERIODICALLY   = $01;    //  set if EVERY
  382.   JOB_EXEC_ERROR         = $02;    //  set if error
  383.   JOB_RUNS_TODAY         = $04;    //  set if today
  384.   JOB_ADD_CURRENT_DATE   = $08;    // set if to add current date
  385.   JOB_NONINTERACTIVE     = $10;    // set for noninteractive
  386.   JOB_INPUT_FLAGS        = JOB_RUN_PERIODICALLY or JOB_ADD_CURRENT_DATE or JOB_NONINTERACTIVE;
  387.   JOB_OUTPUT_FLAGS       = JOB_RUN_PERIODICALLY or JOB_EXEC_ERROR or JOB_RUNS_TODAY or JOB_NONINTERACTIVE;
  388.   MAX_PREFERRED_LENGTH   = -1;
  389.  
  390.   UF_SCRIPT              = $0001;
  391.   UF_ACCOUNTDISABLE      = $0002;
  392.   UF_HOMEDIR_REQUIRED    = $0008;
  393.   UF_LOCKOUT             = $0010;
  394.   UF_PASSWD_NOTREQD      = $0020;
  395.   UF_PASSWD_CANT_CHANGE  = $0040;
  396.  
  397.   UF_TEMP_DUPLICATE_ACCOUNT      = $0100;
  398.   UF_NORMAL_ACCOUNT              = $0200;
  399.   UF_INTERDOMAIN_TRUST_ACCOUNT   = $0800;
  400.   UF_WORKSTATION_TRUST_ACCOUNT   = $1000;
  401.   UF_SERVER_TRUST_ACCOUNT        = $2000;
  402.  
  403.   UF_MACHINE_ACCOUNT_MASK = UF_INTERDOMAIN_TRUST_ACCOUNT or
  404.                             UF_WORKSTATION_TRUST_ACCOUNT or
  405.                             UF_SERVER_TRUST_ACCOUNT;
  406.  
  407.   UF_ACCOUNT_TYPE_MASK = UF_TEMP_DUPLICATE_ACCOUNT or
  408.                          UF_NORMAL_ACCOUNT or
  409.                          UF_INTERDOMAIN_TRUST_ACCOUNT or
  410.                          UF_WORKSTATION_TRUST_ACCOUNT or
  411.                          UF_SERVER_TRUST_ACCOUNT;
  412.  
  413.   UF_DONT_EXPIRE_PASSWD = $10000;
  414.   UF_MNS_LOGON_ACCOUNT  = $20000;
  415.  
  416.  
  417.   UF_SETTABLE_BITS = UF_SCRIPT or
  418.                      UF_ACCOUNTDISABLE or
  419.                      UF_LOCKOUT or
  420.                      UF_HOMEDIR_REQUIRED or
  421.                      UF_PASSWD_NOTREQD or
  422.                      UF_PASSWD_CANT_CHANGE or
  423.                      UF_ACCOUNT_TYPE_MASK or
  424.                      UF_DONT_EXPIRE_PASSWD or
  425.                      UF_MNS_LOGON_ACCOUNT;
  426.  
  427. type
  428.   NET_API_STATUS = DWORD;
  429.  
  430.   _NET_DISPLAY_USER = record
  431.     usri1_name: LPWSTR;
  432.     usri1_comment: LPWSTR;
  433.     usri1_flags: DWORD;
  434.     usri1_full_name: LPWSTR;
  435.     usri1_user_id: DWORD;
  436.     usri1_next_index: DWORD;
  437.   end;
  438.  
  439.   PNET_DISPLAY_USER = ^NET_DISPLAY_USER;
  440.   NET_DISPLAY_USER = _NET_DISPLAY_USER;
  441.  
  442.   _NET_DISPLAY_MACHINE = record
  443.     usri2_name: LPWSTR;
  444.     usri2_comment: LPWSTR;
  445.     usri2_flags: DWORD;
  446.     usri2_user_id: DWORD;
  447.     usri2_next_index: DWORD;
  448.   end;
  449.  
  450.   PNET_DISPLAY_MACHINE = ^NET_DISPLAY_MACHINE;
  451.   NET_DISPLAY_MACHINE = _NET_DISPLAY_MACHINE;
  452.  
  453.   _NET_DISPLAY_GROUP = record
  454.     grpi3_name: LPWSTR;
  455.     grpi3_comment: LPWSTR;
  456.     grpi3_group_id: DWORD;
  457.     grpi3_attributes: DWORD;
  458.     grpi3_next_index: DWORD;
  459.   end;
  460.  
  461.   PNET_DISPLAY_GROUP = ^NET_DISPLAY_GROUP;
  462.   NET_DISPLAY_GROUP = _NET_DISPLAY_GROUP;
  463.  
  464.   _STAT_WORKSTATION_0 = record
  465.     stw0_start: DWORD;
  466.     stw0_numNCB_r: DWORD;
  467.     stw0_numNCB_s: DWORD;
  468.     stw0_numNCB_a: DWORD;
  469.     stw0_fiNCB_r: DWORD;
  470.     stw0_fiNCB_s: DWORD;
  471.     stw0_fiNCB_a: DWORD;
  472.     stw0_fcNCB_r: DWORD;
  473.     stw0_fcNCB_s: DWORD;
  474.     stw0_fcNCB_a: DWORD;
  475.     stw0_sesstart: DWORD;
  476.     stw0_sessfailcon: DWORD;
  477.     stw0_sessbroke: DWORD;
  478.     stw0_uses: DWORD;
  479.     stw0_usefail: DWORD;
  480.     stw0_autorec: DWORD;
  481.     stw0_bytessent_r_lo: DWORD;
  482.     stw0_bytessent_r_hi: DWORD;
  483.     stw0_bytesrcvd_r_lo: DWORD;
  484.     stw0_bytesrcvd_r_hi: DWORD;
  485.     stw0_bytessent_s_lo: DWORD;
  486.     stw0_bytessent_s_hi: DWORD;
  487.     stw0_bytesrcvd_s_lo: DWORD;
  488.     stw0_bytesrcvd_s_hi: DWORD;
  489.     stw0_bytessent_a_lo: DWORD;
  490.     stw0_bytessent_a_hi: DWORD;
  491.     stw0_bytesrcvd_a_lo: DWORD;
  492.     stw0_bytesrcvd_a_hi: DWORD;
  493.     stw0_reqbufneed: DWORD;
  494.     stw0_bigbufneed: DWORD;
  495.   end;
  496.  
  497.   PSTAT_WORKSTATION_0 = ^STAT_WORKSTATION_0;
  498.   STAT_WORKSTATION_0 = _STAT_WORKSTATION_0;
  499.  
  500.   _STAT_SERVER_0 = record
  501.     sts0_start: DWORD;
  502.     sts0_fopens: DWORD;
  503.     sts0_devopens: DWORD;
  504.     sts0_jobsqueued: DWORD;
  505.     sts0_sopens: DWORD;
  506.     sts0_stimedout: DWORD;
  507.     sts0_serrorout: DWORD;
  508.     sts0_pwerrors: DWORD;
  509.     sts0_permerrors: DWORD;
  510.     sts0_syserrors: DWORD;
  511.     sts0_bytessent_low: DWORD;
  512.     sts0_bytessent_high: DWORD;
  513.     sts0_bytesrcvd_low: DWORD;
  514.     sts0_bytesrcvd_high: DWORD;
  515.     sts0_avresponse: DWORD;
  516.     sts0_reqbufneed: DWORD;
  517.     sts0_bigbufneed: DWORD;
  518.   end;
  519.  
  520.   PSTAT_SERVER_0 = ^STAT_SERVER_0;
  521.   STAT_SERVER_0 = _STAT_SERVER_0;
  522.  
  523.   _SERVER_TRANSPORT_INFO_1 = record
  524.     svti1_numberofvcs: DWORD;
  525.     svti1_transportname: LPSTR;
  526.     svti1_transportaddress: PBYTE;
  527.     svti1_transportaddresslength: DWORD;
  528.     svti1_networkaddress: LPSTR;
  529.     svti1_domain: LPSTR;
  530.   end;
  531.  
  532.   PSERVER_TRANSPORT_INFO_1 = ^SERVER_TRANSPORT_INFO_1;
  533.   SERVER_TRANSPORT_INFO_1 = _SERVER_TRANSPORT_INFO_1;
  534.  
  535.   _WKSTA_TRANSPORT_INFO_0 = record
  536.     wkti0_quality_of_service: DWORD;
  537.     wkti0_number_of_vcs: DWORD;
  538.     wkti0_transport_name: LPWSTR;
  539.     wkti0_transport_address: LPWSTR;
  540.     wkti0_wan_ish: BOOL;
  541.   end;
  542.  
  543.   PWKSTA_TRANSPORT_INFO_0 = ^WKSTA_TRANSPORT_INFO_0;
  544.   WKSTA_TRANSPORT_INFO_0 = _WKSTA_TRANSPORT_INFO_0;
  545.  
  546.   _WKSTA_USER_INFO_0 = record
  547.       wkui0_username :LPWSTR;
  548.   end;
  549.  
  550.   PWKSTA_USER_INFO_0 = ^WKSTA_USER_INFO_0;
  551.   WKSTA_USER_INFO_0 = ^_WKSTA_USER_INFO_0;
  552.  
  553.   _WKSTA_USER_INFO_1 = record
  554.       wkui1_username :LPWSTR;
  555.       wkui1_logon_domain :LPWSTR;
  556.       wkui1_oth_domains :LPWSTR;
  557.       wkui1_logon_server :LPWSTR;
  558.   end;
  559.  
  560.   PWKSTA_USER_INFO_1 = ^WKSTA_USER_INFO_1;
  561.   WKSTA_USER_INFO_1 = ^_WKSTA_USER_INFO_1;
  562.  
  563.   _WKSTA_INFO_100 = record
  564.      wksi100_platform_id : DWORD;
  565.      wksi100_computername : LPWSTR;
  566.      wksi100_langroup : LPWSTR;
  567.      wksi100_ver_major : DWORD;
  568.      wksi100_ver_minor : DWORD;
  569.   end;
  570.  
  571.   PWKSTA_INFO_100 = ^WKSTA_INFO_100;
  572.   WKSTA_INFO_100 = _WKSTA_INFO_100;
  573.  
  574.  
  575.   _SERVER_INFO_100 = record
  576.      sv100_platform_id : DWORD;
  577.      sv100_name : LPWSTR;
  578.   end;
  579.  
  580.   PSERVER_INFO_100 = ^SERVER_INFO_100;
  581.   SERVER_INFO_100 = _SERVER_INFO_100;
  582.  
  583.   _SERVER_INFO_101 = record
  584.     sv101_platform_id :DWORD;
  585.     sv101_name :LPWSTR;
  586.     sv101_version_major :DWORD;
  587.     sv101_version_minor :DWORD;
  588.     sv101_type :DWORD;
  589.     sv101_comment :LPWSTR;
  590.   end;
  591.  
  592.   PSERVER_INFO_101 = ^SERVER_INFO_101;
  593.   SERVER_INFO_101 = ^_SERVER_INFO_101;
  594.  
  595.   _USER_INFO_11 = record
  596.     usri11_name: LPWSTR;
  597.     usri11_comment: LPWSTR;
  598.     usri11_usr_comment: LPWSTR;
  599.     usri11_full_name: LPWSTR;
  600.     usri11_priv: DWORD;
  601.     usri11_auth_flags: DWORD;
  602.     usri11_password_age: DWORD;
  603.     usri11_home_dir: LPWSTR;
  604.     usri11_parms: LPWSTR;
  605.     usri11_last_logon: DWORD;
  606.     usri11_last_logoff: DWORD;
  607.     usri11_bad_pw_count: DWORD;
  608.     usri11_num_logons: DWORD;
  609.     usri11_logon_server: LPWSTR;
  610.     usri11_country_code: DWORD;
  611.     usri11_workstations: LPWSTR;
  612.     usri11_max_storage: DWORD;
  613.     usri11_units_per_week: DWORD;
  614.     usri11_logon_hours: PBYTE;
  615.     usri11_code_page: DWORD;
  616.   end;
  617.  
  618.   PUSER_INFO_11 = ^USER_INFO_11;
  619.   USER_INFO_11 = _USER_INFO_11;
  620.  
  621.   _GROUP_USERS_INFO_0 = record
  622.      grui0_name: LPWSTR;
  623.    end;
  624.  
  625.    PGROUP_USERS_INFO_0 = ^GROUP_USERS_INFO_0;
  626.    GROUP_USERS_INFO_0 = _GROUP_USERS_INFO_0;
  627.  
  628.   _GROUP_INFO_2 = record
  629.     grpi2_name: LPWSTR;
  630.     grpi2_comment: LPWSTR;
  631.     grpi2_group_id: DWORD;
  632.     grpi2_attributes: DWORD;
  633.   end;
  634.  
  635.   PGROUP_INFO_2 = ^GROUP_INFO_2;
  636.   GROUP_INFO_2 = _GROUP_INFO_2;
  637.  
  638.   _LOCALGROUP_INFO_0 = record
  639.     lgrpi1_name: LPWSTR;
  640.   end;
  641.  
  642.   PLOCALGROUP_INFO_0 = ^LOCALGROUP_INFO_0;
  643.   LOCALGROUP_INFO_0 = _LOCALGROUP_INFO_0;
  644.  
  645.   _LOCALGROUP_INFO_1 = record
  646.     lgrpi1_name: LPWSTR;
  647.     lgrpi1_comment: LPWSTR;
  648.   end;
  649.  
  650.   PLOCALGROUP_INFO_1 = ^LOCALGROUP_INFO_1;
  651.   LOCALGROUP_INFO_1 = _LOCALGROUP_INFO_1;
  652.  
  653.   _LOCALGROUP_USERS_INFO_0 = record
  654.      lgrui0_name: LPWSTR;
  655.   end;
  656.  
  657.   PLOCALGROUP_USERS_INFO_0 = ^LOCALGROUP_USERS_INFO_0;
  658.   LOCALGROUP_USERS_INFO_0 = _LOCALGROUP_USERS_INFO_0;
  659.  
  660.   _LOCALGROUP_MEMBERS_INFO_3 = record
  661.     lgrmi3_domainandname: LPWSTR;
  662.   end;
  663.  
  664.   PLOCALGROUP_MEMBERS_INFO_3 = ^LOCALGROUP_MEMBERS_INFO_3;
  665.   LOCALGROUP_MEMBERS_INFO_3 = _LOCALGROUP_MEMBERS_INFO_3;
  666.  
  667.   _SHARE_INFO_502 = record
  668.     shi502_netname: LPWSTR;
  669.     shi502_type: DWORD;
  670.     shi502_remark: LPWSTR;
  671.     shi502_permissions: DWORD;
  672.     shi502_max_uses: DWORD;
  673.     shi502_current_uses: DWORD;
  674.     shi502_path: LPWSTR;
  675.     shi502_passwd: LPWSTR;
  676.     shi502_reserved: DWORD;
  677.     shi502_security_descriptor: PSECURITY_DESCRIPTOR;
  678.   end;
  679.  
  680.   PSHARE_INFO_502 = ^SHARE_INFO_502;
  681.   SHARE_INFO_502 = _SHARE_INFO_502;
  682.  
  683.  
  684.   _FILE_INFO_3 = record
  685.     fi3_id: DWORD;
  686.     fi3_permissions: DWORD;
  687.     fi3_num_locks: DWORD;
  688.     fi3_pathname: LPWSTR;
  689.     fi3_username: LPWSTR;
  690.   end;
  691.  
  692.   PFILE_INFO_3 = ^FILE_INFO_3;
  693.   FILE_INFO_3 = _FILE_INFO_3;
  694.  
  695.   _SESSION_INFO_502 = record
  696.     sesi502_cname: LPWSTR;
  697.     sesi502_username: LPWSTR;
  698.     sesi502_num_opens: DWORD;
  699.     sesi502_time: DWORD;
  700.     sesi502_idle_time: DWORD;
  701.     sesi502_user_flags: DWORD;
  702.     sesi502_cltype_name: LPWSTR;
  703.     sesi502_transport: LPWSTR;
  704.   end;
  705.  
  706.   PSESSION_INFO_502 = ^SESSION_INFO_502;
  707.   SESSION_INFO_502 = _SESSION_INFO_502;
  708.  
  709.   _CONNECTION_INFO_1 = record
  710.     coni1_id: DWORD;
  711.     coni1_type: DWORD;
  712.     coni1_num_opens: DWORD;
  713.     coni1_num_users: DWORD;
  714.     coni1_time: DWORD;
  715.     coni1_username: LPWSTR;
  716.     coni1_netname: LPWSTR;
  717.   end;
  718.  
  719.   PCONNECTION_INFO_1 = ^CONNECTION_INFO_1;
  720.   CONNECTION_INFO_1 = _CONNECTION_INFO_1;
  721.  
  722.   _AT_ENUM = record
  723.     JobId: DWORD;
  724.     JobTime: DWORD;
  725.     DaysOfMonth: DWORD;
  726.     DaysOfWeek: byte;
  727.     flags: byte;
  728.     Command: LPWSTR;
  729.   end;
  730.  
  731.   PAT_ENUM = ^AT_ENUM;
  732.   AT_ENUM = _AT_ENUM;
  733.  
  734.   _AT_INFO = record
  735.     JobTime: DWORD;
  736.     DaysOfMonth: DWORD;
  737.     DaysOfWeek: byte;
  738.     flags: byte;
  739.     Command: LPWSTR;
  740.   end;
  741.  
  742.   PAT_INFO = ^AT_INFO;
  743.   AT_INFO = _AT_INFO;
  744.  
  745. function InitNETAPI: Boolean;
  746. function FreeNETAPI: Boolean;
  747.  
  748. function NetQueryDisplayInformation(ServerName: LPCWSTR; Level: DWORD;
  749.                                     Index: DWORD; EntriesRequested: DWORD;
  750.                                     PrefMaxLen: DWORD;
  751.                                     var ReturnedEntryCount: DWORD;
  752.                                     var SortedBuffer: Pointer): NET_API_STATUS; stdcall;
  753.  
  754.  
  755. function NetStatisticsGet(ServerName: LPWSTR; Service: LPWSTR; Level: DWORD;
  756.                           Options: DWORD; var BufPtr: Pointer): NET_API_STATUS; stdcall;
  757.  
  758.  
  759. function NetWkstaGetInfo(ServerName: LPWSTR; Level: DWORD;
  760.                          var Bufptr: Pointer): NET_API_STATUS; stdcall;
  761.  
  762. function NetWkstaUserEnum(ServerName: LPWSTR; Level: DWORD;
  763.                           var BufPtr: Pointer; PrefMaxLen: DWORD;
  764.                           var EntriesRead: DWORD;
  765.                           var TotalEntries: DWORD;
  766.                           var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  767.  
  768. function NetWkstaUserGetInfo(Reserved: LPWSTR; Level: DWORD;
  769.                              var BufPtr: Pointer): NET_API_STATUS; stdcall;
  770.  
  771. function NetWkstaTransportEnum(ServerName: LPWSTR; Level: DWORD;
  772.                           var BufPtr: Pointer; PrefMaxLen: DWORD;
  773.                           var EntriesRead: DWORD;
  774.                           var TotalEntries: DWORD;
  775.                           var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  776.  
  777. function NetServerTransportEnum(ServerName: LPWSTR; Level: DWORD;
  778.                           var BufPtr: Pointer; PrefMaxLen: DWORD;
  779.                           var EntriesRead: DWORD;
  780.                           var TotalEntries: DWORD;
  781.                           var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  782.  
  783. function NetUserEnum(ServerName: LPWSTR; Level: DWORD; Filter: DWORD;
  784.                      var Bufptr: Pointer; PrefMaxLen: DWORD;
  785.                      var EntriesRead: DWORD;
  786.                      var TotalEntries: DWORD;
  787.                      var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  788.  
  789. function NetUserGetInfo(ServerName: LPWSTR; UserName: LPWSTR;  Level: DWORD;
  790.                         var Bufptr: Pointer): NET_API_STATUS; stdcall;
  791.  
  792. function NetUserGetLocalGroups(ServerName: LPWSTR; UserName: LPWSTR;
  793.                           Level: DWORD; Flags: DWORD;
  794.                           var BufPtr: Pointer; PrefMaxLen: DWORD;
  795.                           var EntriesRead: DWORD;
  796.                           var TotalEntries: DWORD): NET_API_STATUS; stdcall;
  797.  
  798. function NetUserGetGroups(ServerName: LPWSTR; UserName: LPWSTR; Level: DWORD;
  799.                           var BufPtr: Pointer; PrefMaxLen: DWORD;
  800.                           var EntriesRead: DWORD;
  801.                           var TotalEntries: DWORD): NET_API_STATUS; stdcall;
  802.  
  803.  
  804. function NetGroupEnum(ServerName: LPWSTR; Level: DWORD;
  805.                       var BufPtr: Pointer; PrefMaxLen: DWORD;
  806.                       var EntriesRead: DWORD;
  807.                       var TotalEntries: DWORD;
  808.                       var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  809.  
  810. function NetLocalGroupEnum(ServerName: LPWSTR; Level: DWORD;
  811.                       var BufPtr: Pointer; PrefMaxLen: DWORD;
  812.                       var EntriesRead: DWORD;
  813.                       var TotalEntries: DWORD;
  814.                       var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  815.  
  816. function NetGroupGetUsers(ServerName: LPWSTR; GroupName: LPWSTR; Level: DWORD;
  817.                           var BufPtr: Pointer; PrefMaxLen: DWORD;
  818.                           var EntriesRead: DWORD;
  819.                           var TotalEntries: DWORD;
  820.                           var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  821.  
  822. function NetLocalGroupGetMembers(ServerName: LPWSTR; GroupName: LPWSTR; Level: DWORD;
  823.                           var BufPtr: Pointer; PrefMaxLen: DWORD;
  824.                           var EntriesRead: DWORD;
  825.                           var TotalEntries: DWORD;
  826.                           var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  827.  
  828. function NetServerEnum(ServerName: LPWSTR; Level: DWORD;
  829.                        var Bufptr: Pointer; PrefMaxLen: DWORD;
  830.                        var EntriesRead: DWORD;
  831.                        var TotalEntries: DWORD;  ServerType: DWORD;  Domain: LPWSTR;
  832.                        var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  833.  
  834. function NetShareEnum(ServerName: LPWSTR; Level: DWORD;
  835.                       var BufPtr: Pointer; PrefMaxLength: DWORD;
  836.                       var EntriesRead: DWORD;
  837.                       var TotalEntries: DWORD;
  838.                       var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  839.  
  840. function NetShareDel(ServerName: LPWSTR; NetName: LPWSTR; Reserved: DWORD): NET_API_STATUS; stdcall;
  841.  
  842. function NetConnectionEnum(ServerName: LPWSTR; Qualifier: LPWSTR;
  843.                       Level: DWORD;
  844.                       var BufPtr: Pointer; PrefMaxLength: DWORD;
  845.                       var EntriesRead: DWORD;
  846.                       var TotalEntries: DWORD;
  847.                       var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  848.  
  849. function NetSessionEnum(ServerName: LPWSTR; UncClientName: LPWSTR; UserName: LPWSTR;
  850.                       Level: DWORD;
  851.                       var BufPtr: Pointer; PrefMaxLength: DWORD;
  852.                       var EntriesRead: DWORD;
  853.                       var TotalEntries: DWORD;
  854.                       var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  855.  
  856. function NetSessionDel(ServerName: LPWSTR; UncClientName: LPWSTR; Username: LPWSTR): NET_API_STATUS; stdcall;
  857.  
  858. function NetFileEnum(ServerName: LPWSTR; BasePath: LPWSTR; UserName: LPWSTR;
  859.                       Level: DWORD;
  860.                       var BufPtr: Pointer; PrefMaxLength: DWORD;
  861.                       var EntriesRead: DWORD;
  862.                       var TotalEntries: DWORD;
  863.                       var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  864.  
  865. function NetFileClose(ServerName: LPWSTR; FileID: DWORD): NET_API_STATUS; stdcall;
  866.  
  867. function NetScheduleJobAdd(ServerName : LPWSTR;
  868.                            Buffer : pointer;
  869.                            var JobID : DWORD) : NET_API_STATUS; stdcall;
  870. function NetScheduleJobDel (ServerName : LPWSTR;
  871.                            MinJobID,
  872.                            MaxJobID : DWORD) : NET_API_STATUS; stdcall;
  873. function NetScheduleJobEnum (ServerName : LPWSTR;
  874.                              var buffer : pointer;
  875.                              PrefMaximumLength : DWORD;
  876.                              var EntriesRead :DWord;
  877.                              var TotalEntries :DWord;
  878.                              var ResumeHandle : DWord) : NET_API_STATUS; stdcall;
  879. function NetScheduleJobGetInfo(ServerName : LPWSTR;
  880.                                JobId : DWORD;
  881.                                var buffer : pointer) : NET_API_STATUS; stdcall;
  882.  
  883. function NetApiBufferFree(buffer: Pointer): NET_API_STATUS; stdcall;
  884.  
  885. function NetApiBufferReallocate(OldBuffer : Pointer;
  886.                                 NewByteCount : DWORD;
  887.                                 var NewBuffer : Pointer) : NET_API_STATUS; stdcall;
  888. function NetApiBufferSize(buffer : Pointer;
  889.                           var byteCount : DWORD) : NET_API_STATUS; stdcall;
  890.  
  891. type
  892.   TNetQueryDisplayInformation = function(ServerName: LPCWSTR; Level: DWORD;
  893.                                     Index: DWORD; EntriesRequested: DWORD;
  894.                                     PrefMaxLen: DWORD;
  895.                                     var ReturnedEntryCount: DWORD;
  896.                                     var SortedBuffer: Pointer): NET_API_STATUS; stdcall;
  897.  
  898.   TNetStatisticsGet = function (ServerName: LPWSTR; Service: LPWSTR; Level: DWORD;
  899.                           Options: DWORD; var BufPtr: Pointer): NET_API_STATUS; stdcall;
  900.  
  901.   TNetWkstaGetInfo = function(ServerName: LPWSTR; Level: DWORD;
  902.                          var Bufptr: Pointer): NET_API_STATUS; stdcall;
  903.  
  904.   TNetWkstaUserEnum = function(ServerName: LPWSTR; Level: DWORD;
  905.                           var BufPtr: Pointer; PrefMaxLen: DWORD;
  906.                           var EntriesRead: DWORD;
  907.                           var TotalEntries: DWORD;
  908.                           var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  909.  
  910.   TNetWkstaUserGetInfo = function(Reserved: LPWSTR; Level: DWORD;
  911.                              var BufPtr: Pointer): NET_API_STATUS; stdcall;
  912.  
  913.   TNetWkstaTransportEnum = function(ServerName: LPWSTR; Level: DWORD;
  914.                           var BufPtr: Pointer; PrefMaxLen: DWORD;
  915.                           var EntriesRead: DWORD;
  916.                           var TotalEntries: DWORD;
  917.                           var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  918.  
  919.   TNetServerTransportEnum = function(ServerName: LPWSTR; Level: DWORD;
  920.                           var BufPtr: Pointer; PrefMaxLen: DWORD;
  921.                           var EntriesRead: DWORD;
  922.                           var TotalEntries: DWORD;
  923.                           var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  924.  
  925.   TNetUserEnum = function(ServerName: LPWSTR; Level: DWORD; Filter: DWORD;
  926.                      var Bufptr: Pointer; PrefMaxLen: DWORD;
  927.                      var EntriesRead: DWORD;
  928.                      var TotalEntries: DWORD;
  929.                      var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  930.  
  931.   TNetUserGetInfo = function (ServerName: LPWSTR; UserName: LPWSTR;  Level: DWORD;
  932.                         var Bufptr: Pointer): NET_API_STATUS; stdcall;
  933.  
  934.   TNetUserGetGroups = function(ServerName: LPWSTR; UserName: LPCWSTR; Level: DWORD;
  935.                           var BufPtr: Pointer; PrefMaxLen: DWORD;
  936.                           var EntriesRead: DWORD;
  937.                           var TotalEntries: DWORD): NET_API_STATUS; stdcall;
  938.  
  939.   TNetUserGetLocalGroups = function(ServerName: LPWSTR; UserName: LPCWSTR;
  940.                           Level: DWORD; Flags: DWORD;
  941.                           var BufPtr: Pointer; PrefMaxLen: DWORD;
  942.                           var EntriesRead: DWORD;
  943.                           var TotalEntries: DWORD): NET_API_STATUS; stdcall;
  944.  
  945.   TNetGroupEnum = function(ServerName: LPWSTR; Level: DWORD;
  946.                            var BufPtr: Pointer; PrefMaxLen: DWORD;
  947.                            var EntriesRead: DWORD;
  948.                            var TotalEntries: DWORD;
  949.                            var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  950.  
  951.   TNetLocalGroupEnum = function(ServerName: LPWSTR; Level: DWORD;
  952.                            var BufPtr: Pointer; PrefMaxLen: DWORD;
  953.                            var EntriesRead: DWORD;
  954.                            var TotalEntries: DWORD;
  955.                            var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  956.  
  957.   TNetGroupGetUsers = function(ServerName: LPWSTR; GroupName: LPCWSTR; Level: DWORD;
  958.                           var BufPtr: Pointer; PrefMaxLen: DWORD;
  959.                           var EntriesRead: DWORD;
  960.                           var TotalEntries: DWORD;
  961.                           var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  962.  
  963.   TNetLocalGroupGetMembers = function(ServerName: LPWSTR; GroupName: LPCWSTR; Level: DWORD;
  964.                           var BufPtr: Pointer; PrefMaxLen: DWORD;
  965.                           var EntriesRead: DWORD;
  966.                           var TotalEntries: DWORD;
  967.                           var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  968.  
  969.   TNetServerEnum = function (ServerName: LPWSTR; Level: DWORD;
  970.                        var Bufptr: Pointer; PrefMaxLen: DWORD;
  971.                        var EntriesRead: DWORD;
  972.                        var TotalEntries: DWORD;  ServerType: DWORD;  Domain: LPWSTR;
  973.                        var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  974.  
  975.   TNetShareEnum = function(ServerName: LPWSTR; Level: DWORD;
  976.                       var BufPtr: Pointer; PrefMaxLength: DWORD;
  977.                       var EntriesRead: DWORD;
  978.                       var TotalEntries: DWORD;
  979.                       var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  980.  
  981.   TNetShareDel = function(ServerName: LPWSTR; NetName: LPWSTR; Reserved: DWORD): NET_API_STATUS; stdcall;
  982.  
  983.   TNetSessionEnum = function(ServerName: LPWSTR; UncClientName: LPWSTR; UserName: LPWSTR;
  984.                       Level: DWORD;
  985.                       var BufPtr: Pointer; PrefMaxLength: DWORD;
  986.                       var EntriesRead: DWORD;
  987.                       var TotalEntries: DWORD;
  988.                       var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  989.  
  990.   TNetSessionDel = function(ServerName: LPWSTR; UncClientName: LPWSTR; Username: LPWSTR): NET_API_STATUS; stdcall;
  991.  
  992.   TNetConnectionEnum = function(ServerName: LPWSTR; Qualifier: LPWSTR;
  993.                       Level: DWORD;
  994.                       var BufPtr: Pointer; PrefMaxLength: DWORD;
  995.                       var EntriesRead: DWORD;
  996.                       var TotalEntries: DWORD;
  997.                       var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  998.  
  999.   TNetFileEnum = function(ServerName: LPWSTR; BasePath: LPWSTR; UserName: LPWSTR;
  1000.                       Level: DWORD;
  1001.                       var BufPtr: Pointer; PrefMaxLength: DWORD;
  1002.                       var EntriesRead: DWORD;
  1003.                       var TotalEntries: DWORD;
  1004.                       var ResumeHandle: DWORD): NET_API_STATUS; stdcall;
  1005.  
  1006.   TNetFileClose = function(ServerName: LPWSTR; FileID: DWORD): NET_API_STATUS; stdcall;
  1007.  
  1008.   TNetScheduleJobAdd = function(ServerName : LPWSTR;
  1009.                            Buffer : pointer;
  1010.                            var JobID : DWORD) : NET_API_STATUS; stdcall;
  1011.   TNetScheduleJobDel = function(ServerName : LPWSTR;
  1012.                            MinJobID,
  1013.                            MaxJobID : DWORD) : NET_API_STATUS; stdcall;
  1014.   TNetScheduleJobEnum = function(ServerName : LPWSTR;
  1015.                              var buffer : pointer;
  1016.                              PrefMaximumLength : DWORD;
  1017.                              var EntriesRead :DWord;
  1018.                              var TotalEntries :DWord;
  1019.                              var ResumeHandle : DWord) : NET_API_STATUS; stdcall;
  1020.   TNetScheduleJobGetInfo = function(ServerName : LPWSTR;
  1021.                                JobId : DWORD;
  1022.                                var buffer : pointer) : NET_API_STATUS; stdcall;
  1023.  
  1024.   TNetApiBufferFree = function (buffer: Pointer): NET_API_STATUS; stdcall;
  1025.  
  1026.   TNetApiBufferReallocate = function(OldBuffer : Pointer;
  1027.                                 NewByteCount : DWORD;
  1028.                                 var NewBuffer : Pointer) : NET_API_STATUS; stdcall;
  1029.   TNetApiBufferSize = function(buffer : Pointer;
  1030.                           var byteCount : DWORD) : NET_API_STATUS; stdcall;
  1031.  
  1032.  
  1033. var
  1034.   NETAPILoaded: Boolean;
  1035.  
  1036. implementation
  1037.  
  1038.  
  1039.