Error Codes and Classes

This section lists all of the valid values for Status.DosError.ErrorClass, and most of the error codes for Status.DosError.Error.

The following error classes may be returned by the server to the client.

Class
=======
Code
====
Comment
====================================================
SUCCESS 0 The request was successful.
ERRDOS 0x01 Error is from the core DOS operating system set.
ERRSRV 0x02 Error is generated by the server network file manager.
ERRHRD 0x03 Error is an hardware error.
ERRCMD 0xFF Command was not in the "SMB" format.

The following error codes may be generated with the SUCCESS error class.

Class
=======
Code
====
Comment
====================================================
SUCCESS 0 The request was successful.

The following error codes may be generated with the ERRDOS error class.

Error
===============
Code
=====
Description
=============================================
ERRbadfunc 1 Invalid function. The server did not recognize or could not perform a system call generated by the server, e.g., set the DIRECTORY attribute on a data file, invalid seek mode.
ERRbadfile 2 File not found. The last component of a file's pathname could not be found.
ERRbadpath 3 Directory invalid. A directory component in a pathname could not be found.
ERRnofids 4 Too many open files. The server has no file handles available.
ERRnoaccess 5 Access denied, the client's context does not permit the requested function. This includes the following conditions:
  • invalid rename command
  • write to Fid open for read only
  • read on Fid open for write only
  • attempt to delete a non-empty directory
ERRbadfid 6 Invalid file handle. The file handle specified was not recognized by the server.
ERRbadmcb 7 Memory control blocks destroyed.
ERRnomem 8 Insufficient server memory to perform the requested function.
ERRbadmem 9 Invalid memory block address.
ERRbadenv 10 Invalid environment.
ERRbadformat 11 Invalid format.
ERRbadaccess 12 Invalid open mode.
ERRbaddata 13 Invalid data (generated only by IOCTL calls within the server).
ERRbaddrive 15 Invalid drive specified.
ERRremcd 16 A Delete Directory request attempted to remove the server's current directory.
ERRdiffdevice 17 Not same device (e.g., a cross volume rename was attempted)
ERRnofiles 18 A File Search command can find no more files matching the specified criteria.
ERRbadshare 32 The sharing mode specified for an Open conflicts with existing FIDs on the file.
ERRlock 33 A Lock request conflicted with an existing lock or specified an invalid mode, or an Unlock requested attempted to remove a lock held by another process.
ERRfilexists 80 The file named in the request already exists.

The following error codes may be generated with the ERRSRV error class.

Error
===============
Code
=====
Description
=============================================
ERRerror 1 Non-specific error code. It is returned under the following conditions:
  • resource other than disk space exhausted (e.g. TIDs)
  • first SMB command was not negotiate
  • multiple negotiates attempted
  • internal server error
ERRbadpw 2 Bad password - name/password pair in a Tree Connect or Session Setup are invalid.
ERRaccess 4 The client does not have the necessary access rights within the specified context for the requested function.
ERRinvnid 5 The Tid specified in a command was invalid.
ERRinvnetname 6 Invalid network name in tree connect.
ERRinvdevice 7 Invalid device - printer request made to non-printer connection or non-printer request made to printer connection.
ERRqfull 49 Print queue full (files) -- returned by open print file.
ERRqtoobig 50 Print queue full -- no space.
ERRqeof 51 EOF on print queue dump.
ERRinvpfid 52 Invalid print file FID.
ERRsmbcmd 64 The server did not recognize the command received.
ERRsrverror 65 The server encountered an internal error, e.g., system file unavailable.
ERRfilespecs 67 The Fid and pathname parameters contained an invalid combination of values.
ERRbadpermits 69 The access permissions specified for a file or directory are not a valid combination. The server cannot set the requested attribute.
ERRsetattrmode 71 The attribute mode in the Set File Attribute request is invalid.
ERRpaused 81 Server is paused. (reserved for messaging)
ERRmsgoff 82 Not receiving messages. (reserved for messaging).
ERRnoroom 83 No room to buffer message. (reserved for messaging).
ERRrmuns 87 Too many remote user names. (reserved for messaging).
ERRtimeout 88 Operation timed out.
ERRnoresource 89 No resources currently available for request.
ERRtoomanyuids 90 Too many Uids active on this session.
ERRbaduid 91 The Uid is not known as a valid user identifier on this session.
ERRusempx 250 Temporarily unable to support Raw, use MPX mode.
ERRusestd 251 Temporarily unable to support Raw, use standard read/write.
ERRcontmpx 252 Continue in MPX mode.
ERRnosupport 65535 Function not supported.

The following error codes may be generated with the ERRHRD error class.

Error
===============
Code
=====
Description
=============================================
ERRnowrite 19 Attempt to write on write-protected media
ERRbadunit 20 Unknown unit.
ERRnotready 21 Drive not ready.
ERRbadcmd 22 Unknown command.
ERRdata 23 Data error (CRC).
ERRbadreq 24 Bad request structure length.
ERRseek 25 Seek error.
ERRbadmedia 26 Unknown media type.
ERRbadsector 27 Sector not found.
ERRnopaper 28 Printer out of paper.
ERRwrite 29 Write fault.
ERRread 30 Read fault.
ERRgeneral 31 General failure.
ERRbadshare 32 A open conflicts with an existing open.
ERRlock 33 A Lock request conflicted with an existing lock or specified an invalid mode, or an Unlock requested attempted to remove a lock held by another process.
ERRwrongdisk 34 The wrong disk was found in a drive.
ERRFCBUnavail 35 No FCBs are available to process request.
ERRsharebufexc 36 A sharing buffer has been exceeded.