This section lists all of the valid values for Status.DosError.ErrorClass, and most of the error codes for Status.DosError.Error.
The server may return the following error classes 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 a 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:
|
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:
|
ERRbadpw | 2 | Bad password—name/password pair in a Tree Connect or Session Setup is 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—cyclic redundancy check (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. |