= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

     NNNN   NNN      CCCCCCCC       AAAAAAAA      PPPPPPPPP
     NNNNN  NNN     CCC    CCC     AAA    AAA     PPP    PPP
     NNNNNNNNNN     CCC            AAAAAAAAAA     PPPPPPPPP
     NNN  NNNNN     CCC    CCC     AAA    AAA     PPP
     NNN   NNNN      CCCCCCCC      AAA    AAA     PPP

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

This printer redirection utility is designed to work with Netware 4.10.

Please send bug reports (or suggestions) to:
   Compuserve:    75600, 2274    
   Internet:      DCOLLINS@FASTLANE.NET

You can find the latest versions at:
   Compuserve:    forum NOVUSER     FileName:  NCAPxx.*
   Internet:      web page   http://www.fastlane.net/homepages/dcollins


Please see NDS-LIST.TXT for information on more utilities.

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Basic rules are:

  You need to run DS.NLM version 4.89a  Aug 30,1995 or later.

  Verify that you set the TZ environment variable on your workstation.
      Example:  SET TZ=CST6CDT   for Central Standard Time.

  Verify that you have  SET NWLANGUAGE=ENGLISH

  By typing '?' as the first parameter of the command line for the utility,
  it will display a help screen.

  You should have your NLS and Unicode files properly installed.  Normally,
  you can find these files under the NLS subdirectory on your C: drive,
  and also the SYS:\PUBLIC\NLS subdirectories.

  The utilities have been tested on:
  Server:  Netware 4.10 (DS.NLM v4.89a or later) and Netware 4.11 beta.
  Workstation:  DOS 5.0 - DOS 6.22 with Netware VLM 1.2 drivers,
  Windows 95 with Novell Client32.  Windows 3.1x.

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Disclaimer:
===========

  Please apply all standard disclaimers here.  This utility is meant to
  help you... not destroy your environment or waste your user's time.

  This utility is meant to help the network administrator present to the
  enduser and easy interface for choosing their printer redirection.
  If this blows up your network, or causes any harm, I am not responsible.
  You will need to take all necessary precautions to protect your resources.

  This utility uses only standard API calls from official Novell SDK
  releases and is compiled using Microsoft C/C++ version 7.0.  Large
  Memory model.
  The 'Window'y APIs are supplied from GreenLeaf DATAWindows 214-248-2561.
  (btw: Their library is the main cause of the RAM cram)
  Got any better choices for 'Window'y APIs for DOS ? Please, let me know.

  If you wish to include any of the utilities found in this ZIP file
  in a publication, please ask first.  Thank You

Application:
============

  Display to the network user, a pick list of all allowable (accessible)
  network print queues and print job names, and allow the user to redirect
  their LPT ports to the desired choice.  These choices can be saved by the
  user for later use.  (ie: Activation upon network login)
  Fully compatible with Netware 4.1 's NDS.   Does not use Bindery Emulation.

   . User may make minor changes to their printer port redirection.
   . The user's choices are saved in their personal sys:mail\userid
     subdirectory. (or using command parameter to different path\filename)
   . The user's printing environment may be automatically activated when the
     user logs into the network.   (The admin places the command
     "SCAPTURE SET" in the login script or batch file.)
   . This utility does not use any 'Bindery Emulation' API calls.
   . The user's settings may be initialized by the administrator placing a
     'master' ncapture.cfg in the sys:public subdirectory.
   . The administrator may disable the ability of the user to modify their
     options for printer redirection.  Also, the SCAPTURE.EXE app is the
     same as NCAPTURE.EXE but will not allow any modification of the options.

Parameters:
===========

   Additional commandline parameters are:

   ?          It will:  Display the help summary screen and then exit app.

   SET
              Purpose:  Set the user's settings and exit.  This settings is
                        meant for batch files and automated usage.
                        Since no picklist screens are displayed, this
                        method requires fewer memory resources.
              It will:  Read the default cfg settings. (sys:public)
                        Read the user's previously saved default settings.
                        Activate the settings.
                        Exit application.

   DEFAULT    Purpose:  To override the user's individual settings, and
                        allow the user to 'restart' their settings.
              It will:  Read the default cfg settings.
                        Display the printer redirection menu.

   /C=Drive:\Path\FileName
              Purpose:  To set the user's cfg file to a specifed location.
              You can set the file to the local C: or to the network drive.
              Popular locations are: F:\USR\UserName\Ncap.Cfg, C:\Ncap.Cfg,
              F:\MHS\MAIL\USERS\UserName\Ncap.Cfg.
              It will:  Read the default cfg settings.
                        Read the specifed file for cfg settings.
                        Display the printer redirection menu.
              Optionally, you can use the environment variable NCAPTURE to
              specify the user's cfg file.

ExitLevels:
===========

  Upon exit, the utility should return an ErrorLevel of 0.
  If above 0, it will reflect the number of errors that occurred while
  attempting to 'Capture' the printer ports to the user selected settings.

Executibles:
============

  NCAPTURE.EXE   -
    . Consumes 450K+ conventional memory.
    . Will allow user to change context list to scan for printjob / queue 
      names.
    . Will allow user to change simple printing options.
      (supervisor can revoke this capability)

  SCAPTURE.EXE   -
    . Consumes about 375K conventional memory.
    . Similar to above but will allow user to only select scanned printjob
      / queue names only.  The user can save these as the default setting.
    . Will only display 'fatal' error messages.  

  DCAPTURE.EXE   -
    . Consumes 460K+ conventional memory.
    . Similar to NCAPTURE.EXE but will display almost all encountered error
      messages.  This is used for debuging problems in the DS tree, or 
      configurations errors in the printjob tasks.

  WCAPTURE.EXE   -
    . Windows 3.1 application.  Workstation must be running VLMs and logged
      into a Netware 4.10 server.
    . Similar to both DCAPTURE.EXE and NCAPTURE.EXE.
    . Of this release, WCAPTURE.EXE is new, so they may be some items to
      be fixed.  The only one that I know is, that the 'Options' button
      are not 'greyed' (disabled) when the printer port points to a local
      printer port.
    . All the same command line parameters work with WCapture.EXE as they 
      did in the other ?Capture.EXE files.
      Hint:  On the icon, choose Properties. (Alt-Enter)  Then, on the
      item, 'Command Line:' you would place the additional parameters after
      the application.exe text.

Workstation Requirements:
=========================

   . DOS 5.0 or later.
   . Workstation with at least 460K of available conventional memory.
     (375K conventional memory if loading SCAPTURE.EXE)
   . Novell VLM (network requestor) logged into a Netware 4.1 server.
     It must be a NDS (Netware Directory Services) connection.
   . Search drive to sys:public\nls or place the Novell unicode file in
      current subdirectory that the NCAPTURE.EXE is copied too.
      (English Unicode files have the .001 extension.)

Limitations:
============

   . Expects the full object name to be less than 80 characters.
   . Will display upto 50 print queue / print job names.
   . NCAPTURE.EXE requires at least 460K (maybe more) of available 
     conventional memory.  (SCAPTURE.EXE requires less memory. DCAPTURE.EXE 
     requires more memory.)
   . Expects 3 redirectable printer ports.

Thanks:
=======

   Thanks to Randy Cook, Ray Maxwell, Adam Jerome, Charles Rose, Novell 
   employees and other forum volunteers for your hints in creating this 
   utility.  Additional thanks to Marina Pimentel.
   (Thanks to Novell for having these engineers available to developers.)
   Also, special thanks to Marcus Williamson on NETW4X forum / Compuserve.
   This utility is compiled using the Novell SDK volume 4. 
   Contact Novell at 800-RED-WORD to subscribe to Novell's SDK.

WhoAmI:
=======

   Darwin Collins, works at Dallas Area Rapid Transit in Dallas, Texas USA. 
   Voice 214-749-3022.  My job pays me to be a Network Administrator. 

   I have been writing programs since 1980.  My first published utility
   was called 'Graphic Writer' published in SoftSide in August 1982.
   You could find a variety of my earlier utilities published in books 
   such as 'LAN Desktop Guide To Troubleshooting' by Rick Segal, and 
   'NetWare Unleashed Vol 1 and 2' from SAMS Publishing.   
   My only commerical attempt, is a product called 'Office Logic Clerk',
   which is a MHS-compatible (SMF-70,SMF-71) super utility (Alphapaging, 
   dlists, file librarian/requestor, ...) marketed by LAN-ACES Inc. in 
   Houston, TX.  800-LAN-ACES.  They have a email groupware product
   called Office Logic Email which is pretty neat!

Sample Usage:
=============

   . Use ?CAPTURE.EXE to automatically set the user's printer redirection
     upon each login.

     To automatically enable the individual's preferred printing defaults,
     you will need to execute the NCAPTURE utility in the system login
     script or in a batch file that is called by the system login script.
     For example, you have copied the NCAPTURE.EXE (or SCAPTURE.EXE) into 
     the sys:public subdirectory.   (Preferably, you would have a directory
     that is in the search path and contains your most usefull utilities.)
     Normally, at the end of your login script, you would call a batch file
     that would then take you to your network menu system.
     Near the start of the batch file you would place the command:
     F:\PUBLIC\SCAPTURE SET
     The 'SET' parameter instructs the utility to read the individual/master
     NCAPTURE.CFG file and setup the printer redirection.
     Optionally... you can add a second parameter to the above command line
     to specify the user's cfg file.  Syntax is:  /C=Drive:\Path\Filename.

   . Use ?CAPTURE.EXE to display a list of all accessible print job / print
     queues to the user so that he can select his printing choices.
     For the user to access the NCAPTURE utility from the network menu or
     from the DOS prompt, you could simply copy the ?CAPTURE.EXE utility
     to a subdirectory that is a 'search drive' or simply in the sys:public
     subdirectory.

Configuration file:
===================

   ?CAPTURE.EXE will attempt to read the NCAPTURE.CFG settings from these 
   locations:
      SYS:\PUBLIC
      SYS:\MAIL\UserObjectID
      Current Subdirectory
   The suggestion is to place a NCAPTURE.CFG file in the SYS:\PUBLIC with 
   the default settings that you will want new users to 'use' the first 
   time that they execute this utility.

   NCAPTURE.CFG is created by the ?CAPTURE.EXE
   when the user selects 'Save' in the menu.   Use any normal text editor 
   to edit the NCAPTURE.CFG file.   Information on each of the settings
   are listed in the next section.

   ?CAPTURE.EXE will attempt to write the NCAPTURE.CFG file in the user's 
   SYS:\MAIL\ObjectId subdirectory.  If it can not write it in that 
   location, then it will attempt to write the file in the current 
   subdirectory.

   If you set an environment variable called NCAPTURE, you can specify the
   filename that you want the user's settings read/written to.  For example,
   if you:   SET NCAPTURE=F:\MHS\MAIL\USERS\%username\NCAPTURE.CFG
   Then the ?CAPTURE.EXE utilities will use the above file to read and 
   write the user's settings.


NCAPTURE.CFG nouns:
===================

   ContainersAvailable
      Sample:         Printers.ABC;Finance.NYC.ABC
      Lists all NDS containers (in addition to current) that the utility
      should search in for the print queues and print job names.
      Separate each container name by a semicolon.

   AllowChangeDefault
      Settings are  Y  or  N
      Normal setting is  Y
      Set to Y, to allow the user to change their printing options.
      Set to N, to not allow the user to change their default printing
      options.
      This noun does not effect the selection of Print Queue names or Print
      Job names.

   The nouns that start with the text 'Default' are the settings that will
   be automatically used when a user chooses a print queue.   The 'default'
   settings are not used if the user selects a print job name.

   DefaultNumberOfCopies
      Settings is from 1 to 1000.
      Normal setting is 1.
   DefaultTimeOut
      Setting is the number of seconds for capture timeout.
      Same meaning as 'TimeOut' for CAPTURE.EXE.
   DefaultFormFeed
      Setting is Y or N.
      Set to Y, to send a FormFeed trailing the print job.
      Similar purpose as 'FormFeed' for CAPTURE.EXE.
   DefaultAutoEndCap
      Setting is Y or N.
      Same meaning as 'AutoEndCap' for CAPTURE.EXE.
   DefaultNotify
      Setting is Y or N.
      If set to Y, then user will receive broadcast when printjob finished.
   DefaultBanner
      Setting is Y or N.
      If set to Y, then the Banner will printed preceding the printjob.
   DefaultBannerName
      If LPTxBanner is set to Y, then it use this noun for the Banner name.
   DefaultBannerText
      If LPTxBanner is set to Y, then it use this noun for the Banner text.

   For each of the below nouns, x means the printer port from 1 to 3.  The
   settings below are those that the user has defined when running the
   NCAPTURE utility.

   LPTxContextName
      Setting is the container name of the print queue, or blank if 'local'.
      Sample:     Printers.ABC
   LPTxQueueName
      Setting is the full name of the print queue, or blank if 'local'.
      Sample:     CN=Q-BJ600E.OU=Printers.O=ABC
   LPTxPrintJobName
      Setting is the print job name (if there is one), or blank if 'local'.
      Sample:     CHECKS
   LPTxNumberOfCopies
      Settings is from 1 to 1000.
      Normal setting is 1.
   LPTxTimeOut
      Setting is the number of seconds for capture timeout.
      Same meaning as 'TimeOut' for CAPTURE.EXE.
   LPTxFormFeed
      Setting is Y or N.
      Set to Y, to send a FormFeed trailing the print job.
      Similar purpose as 'FormFeed' for CAPTURE.EXE.
   LPTxAutoEndCap
      Setting is Y or N.
      Same meaning as 'FormFeed' for CAPTURE.EXE.
   LPTxNotify
      Setting is Y or N.
      If set to Y, then user will receive broadcast when printjob finished.
   LPTxBanner
      Setting is Y or N.
      If set to Y, then the Banner will printed preceding the printjob.
   LPTxBannerName
      If LPTxBanner is set to Y, then it use this noun for the Banner name.
   LPTxBannerText
      If LPTxBanner is set to Y, then it use this noun for the Banner text.


My standard NET.CFG file for VLM 1.20 drivers is:
=================================================

   preferred server=JUNGEUN2
   show dots = ON
   file handles = 60
   print header = 255
   print tail = 64

   Link Driver NE2000
      Protocol IPX 8137 ETHERNET_II
      Frame ETHERNET_II
      INT 15
      PORT 340

   NETWARE DOS REQUESTER
      SET STATION TIME = ON
      LOAD CONN TABLE LOW = ON
      CONNECTIONS = 8
      LARGE INTERNET PACKETS = ON
      SIGNATURE LEVEL = 1
      CACHE BUFFERS = 5
      CACHE BUFFER SIZE = 1436
      CACHE WRITES = ON
      TRUE COMMIT = OFF
      PB BUFFERS = 3
      PBURST READ WINDOW SIZE = 16
      FIRST NETWORK DRIVE = H
      SHOW DOTS = ON
      NAME CONTEXT = "O=HOME"
      FORCE FIRST NETWORK DRIVE = ON
      LOAD LOW REDIR = ON
      READ ONLY COMPATIBILITY = ON
      USE DEFAULTS = OFF
         VLM = CONN.VLM
         VLM = IPXNCP.VLM
         VLM = TRAN.VLM
         VLM = SECURITY.VLM
         VLM = NDS.VLM
         VLM = BIND.VLM
         VLM = NWP.VLM
         VLM = FIO.VLM
         VLM = GENERAL.VLM
         VLM = REDIR.VLM
         VLM = PRINT.VLM
         VLM = NETX.VLM

[end]

PS...
Below are the error codes from extracted from the 'Error Include' files
from the Novell SDK Vol4. (800)RED-WORD

SHELL_ERROR                0x8800
VLM_ERROR                  0x8800
ALREADY_ATTACHED           0x8800   0  
   - Attach attempted to server with valid, existing connection 
INVALID_CONNECTION         0x8801   1  
   - Request attempted with invalid or non-attached connection handle 
DRIVE_IN_USE               0x8802   2  
   - OS/2 only (NOT USED) 
CANT_ADD_CDS               0x8803   3  
   - Map drive attempted but unable to add new current directory structure 
BAD_DRIVE_BASE             0x8804   4  
   - Map drive attempted with invalid path specification 
NET_READ_ERROR             0x8805   5  
   - Attempt to receive from the selected transport failed 
NET_RECV_ERROR             0x8805   5  
UNKNOWN_NET_ERROR          0x8806   6  
   - Network send attempted with an un-specific network error 
SERVER_INVALID_SLOT        0x8807   7  
   - Server request attempted with invalid server connection slot 
BAD_SERVER_SLOT            0x8807   7  
NO_SERVER_SLOTS            0x8808   8  
   - Attach attempted to server with no connection slots available 
NET_WRITE_ERROR            0x8809   9  
   - Attempt to send on the selected transport failed 
NET_SEND_ERROR             0x8809   9  
SERVER_NO_ROUTE            0x880A   10 
   - Attempted to find route to server where no route exists 
BAD_LOCAL_TARGET           0x880B   11 - OS/2 only 
TOO_MANY_REQ_FRAGS         0x880C   12 
   - Attempted request with too many request fragments specified 
CONNECT_LIST_OVERFLOW      0x880D   13 
BUFFER_OVERFLOW            0x880E   14 
   - Attempt to receive more data than the reply buffer had room for 
NO_CONN_TO_SERVER          0x880F   15 
NO_CONNECTION_TO_SERVER    0x880F   15 
   - Attempt to get connection for a server not connected 
NO_ROUTER_FOUND            0x8810   16 - OS/2 only 
BAD_FUNC_ERROR             0x8811   17 
INVALID_SHELL_CALL         0x8811   17 
   - Attempted function call to non- existent or illegal function 
NOT_SAME_CONNECTION        0x8830   48 
   - Internal server request attempted accross different server connections 
PRIMARY_CONNECTION_NOT_SET 0x8831   49 
   - Attempt to retrieve default connection with no primary connection set 
NO_PRIMARY_SET             0x8831   49 
NO_CAPTURE_SET             0x8832   50 
NO_CAPTURE_IN_PROGRESS     0x8832   50 
   - Capture information requested on port with no capture in progress 
BAD_BUFFER_LENGTH          0x8833   51 
INVALID_BUFFER_LENGTH      0x8833   51 
   - Used to indicate length which caller requested on a GetDNC or SetDNC was too large 
NO_USER_NAME               0x8834   52 
NO_NETWARE_PRINT_SPOOLER   0x8835   53 
   - Capture requested without having the local print spooler installed 
INVALID_PARAMETER          0x8836   54 
   - Attempted function with an invalid function parameter specified 
CONFIG_FILE_OPEN_FAILED    0x8837   55 - OS/2 only 
NO_CONFIG_FILE             0x8838   56 - OS/2 only 
CONFIG_FILE_READ_FAILED    0x8839   57 - OS/2 only 
CONFIG_LINE_TOO_LONG       0x883A   58 - OS/2 only 
CONFIG_LINES_IGNORED       0x883B   59 - OS/2 only 
NOT_MY_RESOURCE            0x883C   60 
   - Attempted request made with a parameter using foriegn resource 
DAEMON_INSTALLED           0x883D   61 - OS/2 only 
SPOOLER_INSTALLED          0x883E   62 
   - Attempted load of print spooler with print spooler already installed 
CONN_TABLE_FULL            0x883F   63 
CONNECTION_TABLE_FULL      0x883F   63 
   - Attempted to allocate a connection handle with no more local connection table entries 
CONFIG_SECTION_NOT_FOUND   0x8840   64 - OS/2 only 
BAD_TRAN_TYPE              0x8841   65 
INVALID_TRANSPORT_TYPE     0x8841   65 
   - Attempted function on a connection with an invalid transport selected 
TDS_TAG_IN_USE             0x8842   66 - OS/2 only 
TDS_OUT_OF_MEMORY          0x8843   67 - OS/2 only 
TDS_INVALID_TAG            0x8844   68 
   - Attempted TDS function with invalid tag 
TDS_WRITE_TRUNCATED        0x8845   69 
   - Attempted TDS write with buffer that exceeded buffer 
NO_DIRECTORY_SERVICE_CONNECTION 0x8846   70 
SERVICE_BUSY               0x8846   70 
   - Attempted request made to partially asynchronous function in busy state 
NO_SERVER_ERROR            0x8847   71 
   - Attempted connect failed to find any servers responding 
BAD_VLM_ERROR              0x8848   72 
   - Attempted function call to non-existant or not-loaded overlay 
NETWORK_DRIVE_IN_USE       0x8849   73 
   - Attempted map to network drive that was already mapped 
LOCAL_DRIVE_IN_USE         0x884A   74 
   - Attempted map to local drive that was in use 
NO_DRIVES_AVAILABLE        0x884B   75 
   - Attempted map to next available drive when none were available 
DEVICE_NOT_REDIRECTED      0x884C   76 
   - The device is not redirected 
NO_MORE_SFT_ENTRIES        0x884D   77 
   - Maximum number of files was reached 
UNLOAD_ERROR               0x884E   78 
   - Attempted unload failed 
IN_USE_ERROR               0x884F   79 
   - Attempted re-use of already in use connection entry 
TOO_MANY_REP_FRAGS         0x8850   80 
   - Attempted request with too many reply fragments specified 
TABLE_FULL                 0x8851   81 
   - Attempted to add a name into the name table after it was full 
SOCKET_NOT_OPEN            0x8852   82 
   - Listen was posted on unopened socket 
MEM_MGR_ERROR              0x8853   83 
   - Attempted enhanced memory operation failed 
SFT3_ERROR                 0x8854   84 
   - An SFT3 switch occured mid-transfer 
PREFERRED_NOT_FOUND        0x8855   85 
   - the preferred directory server was not established but another directory server was returned 
DEVICE_NOT_RECOGNIZED      0x8856   86 
   - used to determine if the device is not used by VISE so pass it on to the next redirector, if any. 
BAD_NET_TYPE               0x8857   87 
   - the network type (Bind/NDS) does not match the server version 
ERROR_OPENING_FILE         0x8858   88 
   - generic open failure error, invalid path, access denied, etc.. 
NO_PREFERRED_SPECIFIED     0x8859   89 
   - no preferred name specified 
ERROR_OPENING_SOCKET       0x885A   90 
   - error opening a socket 
SHELL_FAILURE              0x88FF
VLM_FAILURE                0x88FF


 Server Errors 

ERR_INSUFFICIENT_SPACE          0x8901   001 
ERR_BUFFER_TOO_SMALL            0x8977   119 
ERR_VOLUME_FLAG_NOT_SET         0x8978   120 the service requested, not avail. on the selected vol. 
ERR_NO_ITEMS_FOUND              0x8979   121 
ERR_CONN_ALREADY_TEMP           0x897a   122 
ERR_CONN_ALREADY_LOGGED_IN      0x897b   123 
ERR_CONN_NOT_AUTHENTICATED      0x897c   124 
ERR_CONN_NOT_LOGGED_IN          0x897d   125 
NCP_BOUNDARY_CHECK_FAILED       0x897e   126 
ERR_LOCK_WAITING                0x897f   127 
ERR_LOCK_FAIL                   0x8980   128 
FILE_IN_USE_ERROR               0x8980   128 
NO_MORE_FILE_HANDLES            0x8981   129 
NO_OPEN_PRIVILEGES              0x8982   130 
IO_ERROR_NETWORK_DISK           0x8983   131 
NO_CREATE_PRIVILEGES            0x8984   132 
NO_CREATE_DELETE_PRIVILEGES     0x8985   133 
CREATE_FILE_EXISTS_READ_ONLY    0x8986   134 
WILD_CARDS_IN_CREATE_FILE_NAME  0x8987   135 
INVALID_FILE_HANDLE             0x8988   136 
NO_SEARCH_PRIVILEGES            0x8989   137 
NO_DELETE_PRIVILEGES            0x898A   138 
NO_RENAME_PRIVILEGES            0x898B   139 
NO_MODIFY_PRIVILEGES            0x898C   140 
SOME_FILES_AFFECTED_IN_USE      0x898D   141 
NO_FILES_AFFECTED_IN_USE        0x898E   142 
SOME_FILES_AFFECTED_READ_ONLY   0x898F   143 
NO_FILES_AFFECTED_READ_ONLY     0x8990   144 
SOME_FILES_RENAMED_NAME_EXISTS  0x8991   145 
NO_FILES_RENAMED_NAME_EXISTS    0x8992   146 
NO_READ_PRIVILEGES              0x8993   147 
NO_WRITE_PRIVILEGES_OR_READONLY 0x8994   148 
FILE_DETACHED                   0x8995   149 
SERVER_OUT_OF_MEMORY            0x8996   150 
ERR_TARGET_NOT_A_SUBDIRECTORY   0x8986   150 can be changed later (note written by server people). 
NO_DISK_SPACE_FOR_SPOOL_FILE    0x8997   151 
VOLUME_DOES_NOT_EXIST           0x8998   152 
DIRECTORY_FULL                  0x8999   153 
RENAMING_ACROSS_VOLUMES         0x899A   154 
BAD_DIRECTORY_HANDLE            0x899B   155 
INVALID_PATH                    0x899C   156 
NO_MORE_TRUSTEES                0x899C   156 
NO_MORE_DIRECTORY_HANDLES       0x899D   157 
INVALID_FILENAME                0x899E   158 
DIRECTORY_ACTIVE                0x899F   159 
DIRECTORY_NOT_EMPTY             0x89A0   160 
DIRECTORY_IO_ERROR              0x89A1   161 
READ_FILE_WITH_RECORD_LOCKED    0x89A2   162 
ERR_TRANSACTION_RESTARTED       0x89A3   163 
ERR_RENAME_DIR_INVALID          0x89A4   164 
ERR_INVALID_OPENCREATE_MODE     0x89A5   165 
ERR_ALREADY_IN_USE              0x89A6   166 
ERR_INVALID_RESOURCE_TAG        0x89A7   167 
ERR_ACCESS_DENIED               0x89A8   168 
INVALID_DATA_STREAM             0x89BE   190 
INVALID_NAME_SPACE              0x89BF   191 
NO_ACCOUNTING_PRIVILEGES        0x89C0   192 
LOGIN_DENIED_NO_ACCOUNT_BALANCE 0x89C1   193 
LOGIN_DENIED_NO_CREDIT          0x89C2   194 
ERR_TOO_MANY_HOLDS              0x89C3   195 
ACCOUNTING_DISABLED             0x89C4   196 
INTRUDER_DETECTION_LOCK         0x89C5   197 
NO_CONSOLE_OPERATOR             0x89C6   198 
NO_CONSOLE_PRIVILEGES           0x89C6   198 
ERR_Q_IO_FAILURE                0x89D0   208 
ERR_NO_QUEUE                    0x89D1   209 
ERR_NO_Q_SERVER                 0x89D2   210 
ERR_NO_Q_RIGHTS                 0x89D3   211 
ERR_Q_FULL                      0x89D4   212 
ERR_NO_Q_JOB                    0x89D5   213 
ERR_NO_Q_JOB_RIGHTS             0x89D6   214 
ERR_Q_IN_SERVICE                0x89D7   215 
PASSWORD_NOT_UNIQUE             0x89D7   215 
ERR_Q_NOT_ACTIVE                0x89D8   216 
PASSWORD_TOO_SHORT              0x89D8   216 
ERR_Q_STN_NOT_SERVER            0x89D9   217 
LOGIN_DENIED_NO_CONNECTION      0x89D9   217 
ERR_MAXIMUM_LOGINS_EXCEEDED     0x89D9   217 
ERR_Q_HALTED                    0x89DA   218 
UNAUTHORIZED_LOGIN_TIME         0x89DA   218 
UNAUTHORIZED_LOGIN_STATION      0x89DB   219 
ERR_Q_MAX_SERVERS               0x89DB   219 
ACCOUNT_DISABLED                0x89DC   220 
PASSWORD_HAS_EXPIRED_NO_GRACE   0x89DE   222 
PASSWORD_HAS_EXPIRED            0x89DF   223 
E_NO_MORE_USERS                 0x89E7   231 
NOT_ITEM_PROPERTY               0x89E8   232 
WRITE_PROPERTY_TO_GROUP         0x89E8   232 
MEMBER_ALREADY_EXISTS           0x89E9   233 
NO_SUCH_MEMBER                  0x89EA   234 
NOT_GROUP_PROPERTY              0x89EB   235 
NO_SUCH_SEGMENT                 0x89EC   236 
PROPERTY_ALREADY_EXISTS         0x89ED   237 
OBJECT_ALREADY_EXISTS           0x89EE   238 
INVALID_NAME                    0x89EF   239 
WILD_CARD_NOT_ALLOWED           0x89F0   240 
INVALID_BINDERY_SECURITY        0x89F1   241 
NO_OBJECT_READ_PRIVILEGE        0x89F2   242 
NO_OBJECT_RENAME_PRIVILEGE      0x89F3   243 
NO_OBJECT_DELETE_PRIVILEGE      0x89F4   244 
NO_OBJECT_CREATE_PRIVILEGE      0x89F5   245 
NO_PROPERTY_DELETE_PRIVILEGE    0x89F6   246 
NO_PROPERTY_CREATE_PRIVILEGE    0x89F7   247 
NO_PROPERTY_WRITE_PRIVILEGE     0x89F8   248 
NO_FREE_CONNECTION_SLOTS        0x89F9   249 
NO_PROPERTY_READ_PRIVILEGE      0x89F9   249 
NO_MORE_SERVER_SLOTS            0x89FA   250 
TEMP_REMAP_ERROR                0x89FA   250 
INVALID_PARAMETERS              0x89FB   251 
NO_SUCH_PROPERTY                0x89FB   251 
ERR_NCP_NOT_SUPPORTED           0x89FB   251 
INTERNET_PACKET_REQT_CANCELED   0x89FC   252 
UNKNOWN_FILE_SERVER             0x89FC   252 
MESSAGE_QUEUE_FULL              0x89FC   252 
NO_SUCH_OBJECT                  0x89FC   252 
LOCK_COLLISION                  0x89FD   253 
BAD_STATION_NUMBER              0x89FD   253 
INVALID_PACKET_LENGTH           0x89FD   253 
UNKNOWN_REQUEST                 0x89FD   253 
BINDERY_LOCKED                  0x89FE   254 
TRUSTEE_NOT_FOUND               0x89FE   254 
DIRECTORY_LOCKED                0x89FE   254 
INVALID_SEMAPHORE_NAME_LENGTH   0x89FE   254 
PACKET_NOT_DELIVERABLE          0x89FE   254 
SERVER_BINDERY_LOCKED           0x89FE   254 
SOCKET_TABLE_FULL               0x89FE   254 
SPOOL_DIRECTORY_ERROR           0x89FE   254 
SUPERVISOR_HAS_DISABLED_LOGIN   0x89FE   254 
TIMEOUT_FAILURE                 0x89FE   254 
BAD_PRINTER_ERROR               0x89FF   255 
BAD_RECORD_OFFSET               0x89FF   255 
CLOSE_FCB_ERROR                 0x89FF   255 
FILE_EXTENSION_ERROR            0x89FF   255 
FILE_NAME_ERROR                 0x89FF   255 
HARDWARE_FAILURE                0x89FF   255 
INVALID_DRIVE_NUMBER            0x89FF   255 
DOS_INVALID_DRIVE               0x000F   255 
INVALID_INITIAL_SEMAPHORE_VALUE 0x89FF   255 
INVALID_SEMAPHORE_HANDLE        0x89FF   255 
IO_BOUND_ERROR                  0x89FF   255 
NO_FILES_FOUND_ERROR            0x89FF   255 
NO_RESPONSE_FROM_SERVER         0x89FF   255 
NO_SUCH_OBJECT_OR_BAD_PASSWORD  0x89FF   255 
PATH_NOT_LOCATABLE              0x89FF   255 
QUEUE_FULL_ERROR                0x89FF   255 
REQUEST_NOT_OUTSTANDING         0x89FF   255 
SOCKET_ALREADY_OPEN             0x89FF   255 
LOCK_ERROR                      0x89FF   255 


ERR_INSUFFICIENT_MEMORY        -150      0xFFFFFF6A, OS ERR_NO_ALLOC_SPACE is 0x96 
ERR_REQUEST_UNKNOWN            -251      0xFFFFFF05, OS ERR_UNKNOWN_REQUEST is 0xFB 
ERR_OF_SOME_SORT               -255      0xFFFFFF01, many OS errors are originally 0xFF 

 -301 to -399 are returned by the directory services client library 
ERR_NOT_ENOUGH_MEMORY          -301      0xFFFFFED3 
ERR_BAD_KEY                    -302      0xFFFFFED2 
ERR_BAD_CONTEXT                -303      0xFFFFFED1 
ERR_BUFFER_FULL                -304      0xFFFFFED0 
ERR_LIST_EMPTY                 -305      0xFFFFFECF 
ERR_BAD_SYNTAX                 -306      0xFFFFFECE 
ERR_BUFFER_EMPTY               -307      0xFFFFFECD 
ERR_BAD_VERB                   -308      0xFFFFFECC 
ERR_EXPECTED_IDENTIFIER        -309      0xFFFFFECB 
ERR_EXPECTED_EQUALS            -310      0xFFFFFECA 
ERR_ATTR_TYPE_EXPECTED         -311      0xFFFFFEC9 
ERR_ATTR_TYPE_NOT_EXPECTED     -312      0xFFFFFEC8 
ERR_FILTER_TREE_EMPTY          -313      0xFFFFFEC7 
ERR_INVALID_OBJECT_NAME        -314      0xFFFFFEC6 
ERR_EXPECTED_RDN_DELIMITER     -315      0xFFFFFEC5 
ERR_TOO_MANY_TOKENS            -316      0xFFFFFEC4 
ERR_INCONSISTENT_MULTIAVA      -317      0xFFFFFEC3 
ERR_COUNTRY_NAME_TOO_LONG      -318      0xFFFFFEC2 
ERR_SYSTEM_ERROR               -319      0xFFFFFEC1 
ERR_CANT_ADD_ROOT              -320      0xFFFFFEC0 
ERR_UNABLE_TO_ATTACH           -321      0xFFFFFEBF 
ERR_INVALID_HANDLE             -322      0xFFFFFEBE 
ERR_BUFFER_ZERO_LENGTH         -323      0xFFFFFEBD 
ERR_INVALID_REPLICA_TYPE       -324      0xFFFFFEBC 
ERR_INVALID_ATTR_SYNTAX        -325      0xFFFFFEBB 
ERR_INVALID_FILTER_SYNTAX      -326      0xFFFFFEBA 
ERR_CONTEXT_CREATION           -328      0xFFFFFEB8 
ERR_INVALID_UNION_TAG          -329      0xFFFFFEB7 
ERR_INVALID_SERVER_RESPONSE    -330      0xFFFFFEB6 
ERR_NULL_POINTER               -331      0xFFFFFEB5 
ERR_NO_SERVER_FOUND            -332      0xFFFFFEB4 
ERR_NO_CONNECTION              -333      0xFFFFFEB3 
ERR_RDN_TOO_LONG               -334      0xFFFFFEB2 
ERR_DUPLICATE_TYPE             -335      0xFFFFFEB1 
ERR_DATA_STORE_FAILURE         -336      0xFFFFFEB0 
ERR_NOT_LOGGED_IN              -337      0xFFFFFEAF 
ERR_INVALID_PASSWORD_CHARS     -338      0xFFFFFEAE 
ERR_FAILED_SERVER_AUTHENT      -339      0xFFFFFEAD 
ERR_TRANSPORT                  -340      0xFFFFFEAC 
ERR_NO_SUCH_SYNTAX             -341      0xFFFFFEAB 
ERR_INVALID_DS_NAME            -342      0xFFFFFEAA 
ERR_ATTR_NAME_TOO_LONG         -343      0xFFFFFEA9 
ERR_INVALID_TDS                -344      0xFFFFFEA8 
ERR_INVALID_DS_VERSION         -345      0xFFFFFEA7 
ERR_UNICODE_TRANSLATION        -346      0xFFFFFEA6 
ERR_SCHEMA_NAME_TOO_LONG       -347      0xFFFFFEA5 
ERR_UNICODE_FILE_NOT_FOUND     -348      0xFFFFFEA4 
ERR_UNICODE_ALREADY_LOADED     -349      0xFFFFFEA3 
ERR_NOT_CONTEXT_OWNER          -350      0xFFFFFEA2 
ERR_ATTEMPT_TO_AUTHENTICATE_0  -351      0xFFFFFEA1 
ERR_NO_WRITABLE_REPLICAS       -352      0xFFFFFEA0 
ERR_DN_TOO_LONG                -353      0xFFFFFE9F 
ERR_RENAME_NOT_ALLOWED         -354      0xFFFFFE9E 

 -601 to -699 are returned by the directory services agent in the server 
ERR_NO_SUCH_ENTRY              -601      0xFFFFFDA7 
ERR_NO_SUCH_VALUE              -602      0xFFFFFDA6 
ERR_NO_SUCH_ATTRIBUTE          -603      0xFFFFFDA5 
ERR_NO_SUCH_CLASS              -604      0xFFFFFDA4 
ERR_NO_SUCH_PARTITION          -605      0xFFFFFDA3 
ERR_ENTRY_ALREADY_EXISTS       -606      0xFFFFFDA2 
ERR_NOT_EFFECTIVE_CLASS        -607      0xFFFFFDA1 
ERR_ILLEGAL_ATTRIBUTE          -608      0xFFFFFDA0 
ERR_MISSING_MANDATORY          -609      0xFFFFFD9F 
ERR_ILLEGAL_DS_NAME            -610      0xFFFFFD9E 
ERR_ILLEGAL_CONTAINMENT        -611      0xFFFFFD9D 
ERR_CANT_HAVE_MULTIPLE_VALUES  -612      0xFFFFFD9C 
ERR_SYNTAX_VIOLATION           -613      0xFFFFFD9B 
ERR_DUPLICATE_VALUE            -614      0xFFFFFD9A 
ERR_ATTRIBUTE_ALREADY_EXISTS   -615      0xFFFFFD99 
ERR_MAXIMUM_ENTRIES_EXIST      -616      0xFFFFFD98 
ERR_DATABASE_FORMAT            -617      0xFFFFFD97 
ERR_INCONSISTENT_DATABASE      -618      0xFFFFFD96 
ERR_INVALID_COMPARISON         -619      0xFFFFFD95 
ERR_COMPARISON_FAILED          -620      0xFFFFFD94 
ERR_TRANSACTIONS_DISABLED      -621      0xFFFFFD93 
ERR_INVALID_TRANSPORT          -622      0xFFFFFD92 
ERR_SYNTAX_INVALID_IN_NAME     -623      0xFFFFFD91 
ERR_REPLICA_ALREADY_EXISTS     -624      0xFFFFFD90 
ERR_TRANSPORT_FAILURE          -625      0xFFFFFD8F 
ERR_ALL_REFERRALS_FAILED       -626      0xFFFFFD8E 
ERR_CANT_REMOVE_NAMING_VALUE   -627      0xFFFFFD8D 
ERR_OBJECT_CLASS_VIOLATION     -628      0xFFFFFD8C 
ERR_ENTRY_IS_NOT_LEAF          -629      0xFFFFFD8B 
ERR_DIFFERENT_TREE             -630      0xFFFFFD8A 
ERR_ILLEGAL_REPLICA_TYPE       -631      0xFFFFFD89 
ERR_SYSTEM_FAILURE             -632      0xFFFFFD88 
ERR_INVALID_ENTRY_FOR_ROOT     -633      0xFFFFFD87 
ERR_NO_REFERRALS               -634      0xFFFFFD86 
ERR_REMOTE_FAILURE             -635      0xFFFFFD85 
ERR_UNREACHABLE_SERVER         -636      0XFFFFFD84 
ERR_PREVIOUS_MOVE_IN_PROGRESS  -637      0XFFFFFD83 
ERR_NO_CHARACTER_MAPPING       -638      0XFFFFFD82 
ERR_INCOMPLETE_AUTHENTICATION  -639      0XFFFFFD81 
ERR_INVALID_CERTIFICATE        -640      0xFFFFFD80 
ERR_INVALID_REQUEST            -641      0xFFFFFD7F 
ERR_INVALID_ITERATION          -642      0xFFFFFD7E 
ERR_SCHEMA_IS_NONREMOVABLE     -643      0xFFFFFD7D 
ERR_SCHEMA_IS_IN_USE           -644      0xFFFFFD7C 
ERR_CLASS_ALREADY_EXISTS       -645      0xFFFFFD7B 
ERR_BAD_NAMING_ATTRIBUTES      -646      0xFFFFFD7A 
ERR_NOT_ROOT_PARTITION         -647      0xFFFFFD79 
ERR_INSUFFICIENT_STACK         -648      0xFFFFFD78 
ERR_INSUFFICIENT_BUFFER        -649      0xFFFFFD77 
ERR_AMBIGUOUS_CONTAINMENT      -650      0xFFFFFD76 
ERR_AMBIGUOUS_NAMING           -651      0xFFFFFD75 
ERR_DUPLICATE_MANDATORY        -652      0xFFFFFD74 
ERR_DUPLICATE_OPTIONAL         -653      0xFFFFFD73 
ERR_PARTITION_BUSY             -654      0XFFFFFD72 
ERR_MULTIPLE_REPLICAS          -655      0xFFFFFD71 
ERR_CRUCIAL_REPLICA            -656      0xFFFFFD70 
ERR_SCHEMA_SYNC_IN_PROGRESS    -657      0xFFFFFD6F 
ERR_SKULK_IN_PROGRESS          -658      0xFFFFFD6E 
ERR_TIME_NOT_SYNCHRONIZED      -659      0xFFFFFD6D 
ERR_RECORD_IN_USE              -660      0xFFFFFD6C 
ERR_DS_VOLUME_NOT_MOUNTED      -661      0xFFFFFD6B 
ERR_DS_VOLUME_IO_FAILURE       -662      0xFFFFFD6A 
ERR_DS_LOCKED                  -663      0xFFFFFD69 
ERR_OLD_EPOCH                  -664      0xFFFFFD68 
ERR_NEW_EPOCH                  -665      0xFFFFFD67 
ERR_INCOMPATIBLE_DS_VERSION    -666      0xFFFFFD66 
ERR_PARTITION_ROOT             -667      0xFFFFFD65 
ERR_ENTRY_NOT_CONTAINER        -668      0xFFFFFD64 
ERR_FAILED_AUTHENTICATION      -669      0xFFFFFD63 
ERR_INVALID_CONTEXT            -670      0xFFFFFD62 
ERR_NO_SUCH_PARENT             -671      0xFFFFFD61 
ERR_NO_ACCESS                  -672      0xFFFFFD60 
ERR_REPLICA_NOT_ON             -673      0xFFFFFD5F 
ERR_INVALID_NAME_SERVICE       -674      0xFFFFFD5E 
ERR_INVALID_TASK               -675      0xFFFFFD5D 
ERR_INVALID_CONN_HANDLE        -676      0xFFFFFD5C 
ERR_INVALID_IDENTITY           -677      0xFFFFFD5B 
ERR_DUPLICATE_ACL              -678      0xFFFFFD5A 
ERR_PARTITION_ALREADY_EXISTS   -679      0xFFFFFD59 
ERR_TRANSPORT_MODIFIED         -680      0xFFFFFD58 
ERR_ALIAS_OF_AN_ALIAS          -681      0xFFFFFD57 
ERR_AUDITING_FAILED            -682      0xFFFFFD56 
ERR_INVALID_API_VERSION        -683      0xFFFFFD55 
ERR_SECURE_NCP_VIOLATION       -684      0xFFFFFD54 
ERR_MOVE_IN_PROGRESS           -685      0xFFFFFD53 
ERR_NOT_LEAF_PARTITION         -686      0xFFFFFD52 
ERR_CANNOT_ABORT               -687      0xFFFFFD51 
ERR_CACHE_OVERFLOW             -688      0xFFFFFD50 
ERR_INVALID_SUBORDINATE_COUNT  -689      0xFFFFFD4F 
ERR_INVALID_RDN                -690      0xFFFFFD4E 
ERR_MOD_TIME_NOT_CURRENT       -691      0xFFFFFD4D 
ERR_INCORRECT_BASE_CLASS       -692      0xFFFFFD4C 
ERR_MISSING_REFERENCE          -693      0xFFFFFD4B 
ERR_LOST_ENTRY                 -694      0xFFFFFD4A 
ERR_AGENT_ALREADY_REGISTERED   -695      0xFFFFFD49 
ERR_DS_LOADER_BUSY             -696      0xFFFFFD48 
ERR_DS_CANNOT_RELOAD           -697      0xFFFFFD47 
ERR_REPLICA_IN_SKULK           -698      0xFFFFFD46 
ERR_FATAL                      -699      0xFFFFFD45 
ERR_OBSOLETE_API               -700      0xFFFFFD44 
ERR_SYNCHRONIZATION_DISABLED   -701      0xFFFFFD43 
ERR_INVALID_PARAMETER          -702      0xFFFFFD42 
ERR_DUPLICATE_TEMPLATE         -703      0xFFFFFD41 
ERR_NO_MASTER_REPLICA          -704      0xFFFFFD40 
ERR_DUPLICATE_CONTAINMENT      -705      0xFFFFFD3F 

---------------------------------------------------------------------------
 * -001 to -255 are OS Errors returned through directory services
 

DSERR_INSUFFICIENT_SPACE             -001      FFFFFFFF 
DSERR_BUFFER_TOO_SMALL               -119      FFFFFF89 
DSERR_VOLUME_FLAG_NOT_SET            -120      FFFFFF88 
DSERR_NO_ITEMS_FOUND                 -121      FFFFFF87 
DSERR_CONN_ALREADY_TEMPORARY         -122      FFFFFF86 
DSERR_CONN_ALREADY_LOGGED_IN         -123      FFFFFF85 
DSERR_CONN_NOT_AUTHENTICATED         -124      FFFFFF84 
DSERR_CONN_NOT_LOGGED_IN             -125      FFFFFF83 
DSERR_NCP_BOUNDARY_CHECK_FAILED      -126      FFFFFF82 
DSERR_LOCK_WAITING                   -127      FFFFFF81 
DSERR_LOCK_FAIL                      -128      FFFFFF80 
DSERR_OUT_OF_HANDLES                 -129      FFFFFF7F 
DSERR_NO_OPEN_PRIVILEGE              -130      FFFFFF7E 
DSERR_HARD_IO_ERROR                  -131      FFFFFF7D 
DSERR_NO_CREATE_PRIVILEGE            -132      FFFFFF7C 
DSERR_NO_CREATE_DELETE_PRIV          -133      FFFFFF7B 
DSERR_R_O_CREATE_FILE                -134      FFFFFF7A 
DSERR_CREATE_FILE_INVALID_NAME       -135      FFFFFF79 
DSERR_INVALID_FILE_HANDLE            -136      FFFFFF78 
DSERR_NO_SEARCH_PRIVILEGE            -137      FFFFFF77 
DSERR_NO_DELETE_PRIVILEGE            -138      FFFFFF76 
DSERR_NO_RENAME_PRIVILEGE            -139      FFFFFF75 
DSERR_NO_SET_PRIVILEGE               -140      FFFFFF74 
DSERR_SOME_FILES_IN_USE              -141      FFFFFF73 
DSERR_ALL_FILES_IN_USE               -142      FFFFFF72 
DSERR_SOME_READ_ONLY                 -143      FFFFFF71 
DSERR_ALL_READ_ONLY                  -144      FFFFFF70 
DSERR_SOME_NAMES_EXIST               -145      FFFFFF6F 
DSERR_ALL_NAMES_EXIST                -146      FFFFFF6E 
DSERR_NO_READ_PRIVILEGE              -147      FFFFFF6D 
DSERR_NO_WRITE_PRIVILEGE             -148      FFFFFF6C 
DSERR_FILE_DETACHED                  -149      FFFFFF6B 
DSERR_NO_ALLOC_SPACE                 -150      FFFFFF6A 
DSERR_TARGET_NOT_A_SUBDIR            -150      FFFFFF6A 
DSERR_NO_SPOOL_SPACE                 -151      FFFFFF69 
DSERR_INVALID_VOLUME                 -152      FFFFFF68 
DSERR_DIRECTORY_FULL                 -153      FFFFFF67 
DSERR_RENAME_ACROSS_VOLUME           -154      FFFFFF66 
DSERR_BAD_DIR_HANDLE                 -155      FFFFFF65 
DSERR_INVALID_PATH                   -156      FFFFFF64 
DSERR_NO_SUCH_EXTENSION              -156      FFFFFF64 
DSERR_NO_DIR_HANDLES                 -157      FFFFFF63 
DSERR_BAD_FILE_NAME                  -158      FFFFFF62 
DSERR_DIRECTORY_ACTIVE               -159      FFFFFF61 
DSERR_DIRECTORY_NOT_EMPTY            -160      FFFFFF60 
DSERR_DIRECTORY_IO_ERROR             -161      FFFFFF5F 
DSERR_IO_LOCKED                      -162      FFFFFF5E 
DSERR_TRANSACTION_RESTARTED          -163      FFFFFF5D 
DSERR_RENAME_DIR_INVALID             -164      FFFFFF5C 
DSERR_INVALID_OPENCREATE_MODE        -165      FFFFFF5B 
DSERR_ALREADY_IN_USE                 -166      FFFFFF5A 
DSERR_INVALID_RESOURCE_TAG           -167      FFFFFF59 
DSERR_ACCESS_DENIED                  -168      FFFFFF58 
DSERR_INVALID_DATA_STREAM            -190      FFFFFF42 
DSERR_INVALID_NAME_SPACE             -191      FFFFFF41 
DSERR_NO_ACCOUNTING_PRIVILEGES       -192      FFFFFF40 
DSERR_NO_ACCOUNT_BALANCE             -193      FFFFFF3F 
DSERR_CREDIT_LIMIT_EXCEEDED          -194      FFFFFF3E 
DSERR_TOO_MANY_HOLDS                 -195      FFFFFF3D 
DSERR_ACCOUNTING_DISABLED            -196      FFFFFF3C 
DSERR_LOGIN_LOCKOUT                  -197      FFFFFF3B 
DSERR_NO_CONSOLE_RIGHTS              -198      FFFFFF3A 
DSERR_Q_IO_FAILURE                   -208      FFFFFF30 
DSERR_NO_QUEUE                       -209      FFFFFF2F 
DSERR_NO_Q_SERVER                    -210      FFFFFF2E 
DSERR_NO_Q_RIGHTS                    -211      FFFFFF2D 
DSERR_Q_FULL                         -212      FFFFFF2C 
DSERR_NO_Q_JOB                       -213      FFFFFF2B 
DSERR_NO_Q_JOB_RIGHTS                -214      FFFFFF2A 
DSERR_UNENCRYPTED_NOT_ALLOWED        -214      FFFFFF2A 
DSERR_Q_IN_SERVICE                   -215      FFFFFF29 
DSERR_DUPLICATE_PASSWORD             -215      FFFFFF29 
DSERR_Q_NOT_ACTIVE                   -216      FFFFFF28 
DSERR_PASSWORD_TOO_SHORT             -216      FFFFFF28 
DSERR_Q_STN_NOT_SERVER               -217      FFFFFF27 
DSERR_MAXIMUM_LOGINS_EXCEEDED        -217      FFFFFF27 
DSERR_Q_HALTED                       -218      FFFFFF26 
DSERR_BAD_LOGIN_TIME                 -218      FFFFFF26 
DSERR_Q_MAX_SERVERS                  -219      FFFFFF25 
DSERR_NODE_ADDRESS_VIOLATION         -219      FFFFFF25 
DSERR_LOG_ACCOUNT_EXPIRED            -220      FFFFFF24 
DSERR_BAD_PASSWORD                   -222      FFFFFF22 
DSERR_PASSWORD_EXPIRED               -223      FFFFFF21 
DSERR_NO_LOGIN_CONN_AVAILABLE        -224      FFFFFF20 
DSERR_WRITE_TO_GROUP_PROPERTY        -232      FFFFFF18 
DSERR_MEMBER_ALREADY_EXISTS          -233      FFFFFF17 
DSERR_NO_SUCH_MEMBER                 -234      FFFFFF16 
DSERR_PROPERTY_NOT_GROUP             -235      FFFFFF15 
DSERR_NO_SUCH_VALUE_SET              -236      FFFFFF14 
DSERR_PROPERTY_ALREADY_EXISTS        -237      FFFFFF13 
DSERR_OBJECT_ALREADY_EXISTS          -238      FFFFFF12 
DSERR_ILLEGAL_NAME                   -239      FFFFFF11 
DSERR_ILLEGAL_WILDCARD               -240      FFFFFF10 
DSERR_BINDERY_SECURITY               -241      FFFFFF0F 
DSERR_NO_OBJECT_READ_RIGHTS          -242      FFFFFF0E 
DSERR_NO_OBJECT_RENAME_RIGHTS        -243      FFFFFF0D 
DSERR_NO_OBJECT_DELETE_RIGHTS        -244      FFFFFF0C 
DSERR_NO_OBJECT_CREATE_RIGHTS        -245      FFFFFF0B 
DSERR_NO_PROPERTY_DELETE_RIGHTS      -246      FFFFFF0A 
DSERR_NO_PROPERTY_CREATE_RIGHTS      -247      FFFFFF09 
DSERR_NO_PROPERTY_WRITE_RIGHTS       -248      FFFFFF08 
DSERR_NO_PROPERTY_READ_RIGHTS        -249      FFFFFF07 
DSERR_TEMP_REMAP                     -250      FFFFFF06 
DSERR_UNKNOWN_REQUEST                -251      FFFFFF05 
DSERR_NO_SUCH_PROPERTY               -251      FFFFFF05 
DSERR_MESSAGE_QUEUE_FULL             -252      FFFFFF04 
DSERR_TARGET_ALREADY_HAS_MSG         -252      FFFFFF04 
DSERR_NO_SUCH_OBJECT                 -252      FFFFFF04 
DSERR_BAD_STATION_NUMBER             -253      FFFFFF03 
DSERR_BINDERY_LOCKED                 -254      FFFFFF02 
DSERR_DIR_LOCKED                     -254      FFFFFF02 
DSERR_SPOOL_DELETE                   -254      FFFFFF02 
DSERR_TRUSTEE_NOT_FOUND              -254      FFFFFF02 
DSERR_HARD_FAILURE                   -255      FFFFFF01 
DSERR_FILE_NAME                      -255      FFFFFF01 
DSERR_FILE_EXISTS                    -255      FFFFFF01 
DSERR_CLOSE_FCB                      -255      FFFFFF01 
DSERR_IO_BOUND                       -255      FFFFFF01 
DSERR_NO_SPOOL_FILE                  -255      FFFFFF01 
DSERR_BAD_SPOOL_PRINTER              -255      FFFFFF01 
DSERR_BAD_PARAMETER                  -255      FFFFFF01 
DSERR_NO_FILES_FOUND                 -255      FFFFFF01 
DSERR_NO_TRUSTEE_CHANGE_PRIV         -255      FFFFFF01 
DSERR_TARGET_NOT_LOGGED_IN           -255      FFFFFF01 
DSERR_TARGET_NOT_ACCEPTING_MSGS      -255      FFFFFF01 
DSERR_MUST_FORCE_DOWN                -255      FFFFFF01 
