2.2.6.8.2 Response

For information levels greater than 0x100, the transaction response has one parameter word that SHOULD be ignored by the client.

Trans2_Parameters:

 Trans2_Parameters
   {
     USHORT EaErrorOffset;
   }

EaErrorOffset (2 bytes): If Request.Trans2_Parameters.InformationLevel is not SMB_INFO_QUERY_EAS_FROM_LIST, this field MUST be zero (0x0000). If InformationLevel is SMB_INFO_QUERY_EAS_FROM_LIST, this field marks the offset to an extended attribute, the retrieval of which caused an error. This field MUST contain the offset, in bytes, to the SMB_GEA (section 2.2.1.2.1) entry in Trans2_Data.ExtendedAttributesList that caused the error, or zero (0x0000) if no error was encountered.

Trans2_Data:

The Trans2_Data block carries the structure of the information level specified by the request's Trans2_Parameters.InformationLevel field. Each information level's corresponding structure is specified in section 2.2.8.3.<147>

Error Codes:

SMB error class

SMB error code

NT status code

POSIX equivalent

Description

ERRDOS

(0x01)

ERRnoaccess

(0x0005)

STATUS_ACCESS_DENIED

(0xC0000022)

EPERM

Access denied.

ERRDOS

(0x01)

ERRbadfid

(0x0006)

STATUS_INVALID_HANDLE

(0xC0000008)

ENOENT

The FID supplied is invalid.

ERRDOS

(0x01)

ERRnomem

(0x0008)

STATUS_INSUFF_SERVER_RESOURCES

(0xC0000205)

ENOMEM

The server is out of resources.

ERRDOS

(0x01)

ERRgeneral

(0x001F)

STATUS_UNSUCCESSFUL

(0xC0000001)

The size of the extended attribute list is not correct. Check the EaErrorOffset field for the address of the SMB_GEA structure at which the error was detected.

ERRDOS

(0x01)

ERRinvalidparam

(0x0057)

STATUS_INVALID_PARAMETER

(0xC000000D)

One of the extended attributes had an invalid Flag bit value.

ERRDOS

(0x01)

ERRunknownlevel

(0x007C)

STATUS_OS2_INVALID_LEVEL

(0x007C0001)

The InformationLevel supplied is invalid, or the DataCount failed validation for the requested InformationLevel because not enough information was supplied by the client.

ERRDOS

(0x01)

ERRbadealist

(0x00FF)

STATUS_OS2_EA_LIST_INCONSISTENT

(0x00FF0001)

STATUS_EA_LIST_INCONSISTENT

(0x80000014)

Inconsistent extended attribute list.

ERRSRV

(0x02)

ERRerror

(0x0001)

STATUS_INVALID_SMB

(0x00010002)

Invalid SMB. Not enough parameter bytes were sent.

ERRSRV

(0x02)

ERRinvtid

(0x0005)

STATUS_INVALID_HANDLE

(0xC0000008)

STATUS_SMB_BAD_TID

(0x00050002)

The TID is no longer valid.

ERRSRV

(0x02)

ERRbaduid

(0x005B)

STATUS_INVALID_HANDLE

(0xC0000008)

STATUS_SMB_BAD_UID

(0x005B0002)

The UID supplied is not defined to the session.

ERRHRD

(0x03)

ERRdata

(0x0017)

STATUS_DATA_ERROR

(0xC000003E)

EIO

Disk I/O error.