2.2.6.2.2 Response

Trans2_Parameters

  
 Trans2_Parameters
   {
   USHORT SID;
   USHORT SearchCount;
   USHORT EndOfSearch;
   USHORT EaErrorOffset;
   USHORT LastNameOffset;
   }
  

SID (2 bytes): The server-generated search identifier for this transaction. It MUST be provided in TRANS2_FIND_NEXT2 transactions.

SearchCount (2 bytes): The number of entries returned by the search.

EndOfSearch (2 bytes): This field MUST be zero (0x0000) if the search can be continued using the TRANS2_FIND_NEXT2 transaction. This field MUST be nonzero if this response is the last and the find has reached the end of the search results.

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 name, the retrieval of which caused an error. This field MUST contain the offset in bytes to the SMB_GEA entry in the Trans2_Data.GetExtendedAttributesList that identifies the extended attribute that caused the error, or zero (0x0000) if no error was encountered.

LastNameOffset (2 bytes): If the server cannot resume the search, this field MUST be zero (0x0000). If the server can resume the search, this field contains the offset in bytes into the Trans2_Data structure at which the file name of the last entry returned by the server is located. This value can be used in the Trans2_Parameters structure of the request to continue a search. See TRANS2_FIND_NEXT2 (section 2.2.6.3) for more information.

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.1.

Error Codes

SMB error class

SMB error code

NT status code

POSIX equivalent

Description

ERRDOS (0x01)

ERRbadfile

(0x0002)

STATUS_NO_SUCH_FILE

(0xC000000F)

ENOENT

The named file was not found.

ERRDOS (0x01)

ERRbadpath

(0x0003)

STATUS_OBJECT_PATH_SYNTAX_BAD

(0xC000003B)

ENOTDIR

The file path syntax is invalid.

ERRDOS (0x01)

ERRnoaccess

(0x0005)

STATUS_ACCESS_DENIED

(0xC0000022)

EPERM

Access denied.

ERRDOS (0x01)

ERRbadaccess

(0x000C)

STATUS_ACCESS_DENIED

(0xC0000022)

Invalid open mode.

ERRDOS (0x01)

ERRbadshare

(0x0020)

STATUS_SHARING_VIOLATION

(0xC0000043)

ETXTBSY

Sharing violation.

ERRDOS (0x01)

ERRgeneral

(0x001F)

STATUS_UNSUCCESSFUL

(0xC0000001)

The size of the extended attribute list is not correct. Check the EaErrorOffset field for 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.

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_SMB_BAD_TID

(0x00050002)

The TID is no longer valid.

ERRSRV

(0x02)

ERRnomem

(0x0008)

STATUS_INSUFF_SERVER_RESOURCES

(0xC0000205)

ENOMEM

The server is out of resources.

ERRSRV

(0x02)

ERRbaduid

(0x005B)

STATUS_SMB_BAD_UID

(0x005B0002)

The UID supplied is not defined to the session.

ERRSRV

(0x02)

ERRmoredata

(0x00EA)

STATUS_BUFFER_OVERFLOW

(0x80000005)

The number of bytes read from the named pipe exceeds the MaxDataCount field in the client request.