Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

About the SMB error codes.

0 views
Skip to first unread message

Tayade, Nilesh

unread,
May 21, 2013, 2:04:52 AM5/21/13
to
Hi,

I am looking at the error codes for SMB/CIFS (both DOS and NT-STATUS errors). There is a description related to each error code in documentation.
But there is no information related to severity of error codes (e.g. Fatal/Critical/Warning/Information only etc.).

Could someone please point to any reference that shows such categorization?

--
Thanks,
Nilesh

Christopher R. Hertel

unread,
May 21, 2013, 8:43:49 AM5/21/13
to
Nilesh,

The severity of the error code is dependent upon the context...the
situation in which the error code was returned. There is a full document
listing the NT error codes:
http://msdn.microsoft.com/en-us/library/cc231196.aspx

...but [MS-CIFS] provides the best explanation of SMB error code handling
(including maping from NT to DOS codes).

Chris -)-----

Tayade, Nilesh

unread,
May 21, 2013, 12:13:19 PM5/21/13
to
Thanks Chris.
In my case, I received STATUS_INVALID_DEVICE_REQUEST error. The communication still goes on the same socket after the error is reported.
So can I treat this as non-FATAL error? How do I evaluate the context where errors will be treated as FALAL/Critical ones?

--
Thanks,
Nilesh

Christopher R. Hertel

unread,
May 21, 2013, 12:52:23 PM5/21/13
to
On Tue, May 21, 2013 at 04:13:19PM +0000, Tayade, Nilesh wrote:
> Thanks Chris.
> In my case, I received STATUS_INVALID_DEVICE_REQUEST error. The communication still goes on the same socket after the error is reported.
> So can I treat this as non-FATAL error? How do I evaluate the context where errors will be treated as FALAL/Critical ones?

This is where it becomes necessary to study the Microsoft documentation.
You may have gotten that error because you were trying to do more than one
thing (lots of the SMB calls do more than one thing). Find out which
message returned the error, and then look at the documentation for that
call (both in section 2 and section 3). Start with [MS-CIFS] and/or
[MS-SMB] if you are working with SMBv1. SMBv2 and V3 are documented in
[MS-SMB2].

Chris -)-----

Christopher R. Hertel

unread,
May 22, 2013, 11:01:16 AM5/22/13
to
On Wed, May 22, 2013 at 03:56:54AM +0000, Tayade, Nilesh wrote:
:
:
:

> I looked into the MS-CIFS documentation. In my case the
> STATUS_INVALID_DEVICE_REQUEST error is generated for NT-TRANS request
> with IOCTL subcommand.

> But in MS-CIFS documentation, the error codes list for NT-TRANS command
> with IOCTL subcommand doesn't show the STATUS_INVALID_DEVICE_REQUEST
> error.
> What's wrong?

The error code is being returned from the IOCTL, not the NT_TRANS.
You'll have to look at the IOCTL documentation (I don't know where to find
that) to find out what it means.

> Please refer the attached pcap file with 2 SMB packets. The IOCTL is
> being performed on some file system resource.
> And the IOCTL parameters show 'Unknown' function. Could this be the
> reason of error? Could this happen because of incompatibility of Windows
> versions?

What is happening is fairy clear. The client is trying to pass a request
to a device on the server. The device is either the wrong type of device
or not a device at all, so it doesn't understand the request, and is
returning an error. (...or the ioctl system on the server is returning
the error because it has detected that the handle you passed is of the
wrong type).

In any case, it's not the SMB system that's returning the error. NT_TRANS
is just a transport layer. It is handling off the request and returning
the error message that it receives.

Hope that helps.

Chris -)-----

Richard Sharpe

unread,
May 22, 2013, 11:06:34 AM5/22/13
to
And, IIRC, INVALID_DEVICE_REQUEST is essentially the device's way of
saying ENOTSUP, at least for Windows.

--
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)

0 new messages